C语言问题,编写一个判断素数的函数,再编写一个函数将一个偶数表示为两个素数之和。在主函数输入任一个大

作者&投稿:项胀 (若有异议请与网页底部的电邮联系)
编写一个判断数n是否是素数的函数(c语言)~

判断一个数是否素数的函数可以这样写:

int chk(int x)
{
ok=1;
for (i=2;i<x && ok==1;i++) if (x%i==0) ok=0;
return ok;
}

把80撤分为两个素数之和的程序代码可以这样写:

main()
{
int i;
for (i=2;i<=40;i++) if (chk(i) && chk(80-i)) printf("80=%d+%d
",i,80-i);
}

int isprime(int n)
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)return 0;//返回0表示n不是素数
return 1;//返回1表示n是素数
}

第1个问题,sqrt开根号,因为p=√p*√p,当i>√p时,i必定不能整除p,所以计算到√p就够了
第2个问题,根据上面的算法fq,fp代表p/i的余数为0,q/i的余数为0,也就说证明了,计算出来的i(代表2个数值)为q,p的约数

#include<math.h> //这里要用到sqrt函数
int isprime(int a)
{
int r,i,w=0;//w为1则不是,为0则是
for(i=2;i<=sqrt(a)&&w==0;i++)
{
r=a%i;
if(r==0)
w=1;
}
return !w;
}
void main()
{
int a,r;
scanf("%d",&a);
r=isprime(a);
if(r)
printf("Yes\n");
else printf("No\n");
}
另外,站长团上有产品团购,便宜有保证


C语言题目描述编写一个程序,要求输出所输入的两个整数的乘积!保证测 ...
代码很简单 include<stdio.h>void main(){ int a,b; scanf("%d%d",&a,&b); \/\/输入两个数 printf("%d\\n",a*b); \/\/输出乘积} 如果要通过程序来保证测试数据大于-100,小于100,而不是输入的时候人为的控制,则可以加一个if判断,如果需要的话可以追问,我再详细说 ...

编写一个c语言程序,实现录入学生学号和姓名信息的功能
1、首先创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。2、然后编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。3、然后在源文件中创建main源文件和Stu源文件。再main文件中写入int mian()代码。4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。5、然后在...

C语言程序,请你编写一个程序计算每个学生的平均成绩并按降序排序_百度...
你这个可以用链表来写,同类型我已经写过几次链表的,需要你可以去我回答记录里找。这次,我不用链表,直接用2维数组,冒泡排序,那你参考吧。原理:1、数组内存的连续性 2、利用指针冒泡排序 include<stdio.h>#include<stdlib.h>#includevoid prStu(float *stu);\/\/打印学生成绩 参数:数组...

用C语言编一个程序:b) 判断整数x的奇偶性:如果x为偶数,则输出"Even...
include <stdio.h> void main(){ int x;scanf("%d",&x);if(x%2==0)printf("%d is Even number\\n",x);else printf("%d is Odd number\\n",x);}

用C语言怎么编写一个从1加到10的程序...新手求解
include <stdio.h> void main(){ int n;int sum=0; \/\/初始sum变量值为0;for(n=1;n<=10;n++){ sum=sum+n; \/\/从一加到10;} printf("1+2+...+10=%d",sum);}

C语言,编写一个程序,从键盘输入5个数,算出总和及平均值!急!!!_百度知...
include<stdio.h> int main(){ int i,x;int sum=0;for(i=0;i<5;i++){ printf("请输入第%d个数:",i+1);scanf("%d",&x);sum+=x;} printf("和为%d,平均值为%.2f",sum,sum\/5.0);return 0;}

C语言 编写一个程序,输入一个正整数,求出它是几位数。
求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。include <stdio.h> int main(){ int n,num=0;scanf("%d",&n);while(n){ num++;n\/=10;} printf("%d\\n",num)...

C语言怎么编写:请编写一个字符串过滤程序,若字符串中出现多个相同的字符...
0;}void finddd(char x[]) \/\/ 不带数据返回 {int i,shu=0;char aa[100]; int aaa[200]={0};for(i=0;i<strlen(x);i++){ if(aaa[ x[i] ] == 0) {aaa[ x[i] ] = 1; aa[shu++]=x[i]; }} aa[...

编写一个C语言程序,输入两个数的乘积和和,输出这两个数。
思路:使用for循环,用减法得到两个数之后,验证乘法是否符合要求,符合则输出,不符合则跳过该循环。程序源码及运行结果如下所示(程序排版系统会自动去掉句首空格,结构混乱请见谅):include<stdio.h> int main(){ int sum,product;printf("请输入两数之和:");scanf("%d",&sum);printf("请输入...

Java语言,编写一个程序能将用户输入的个任意长度的整数,求出各个位...
运行结果:代码如下:import java.util.Scanner;public class App { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int number = scanner.nextInt(); while (number != 0) { int x = numbe...

盐湖区17356633022: c语言:写一个判断素数的函数,要求在主函数任意输入一个整数,输出其是否素数的判断结果 -
锁冉凡林: #include <stdio.h>#include <math.h> int is_prime(int n) { int i; for(i = 2; i <= sqrt(n); i ++) if(n%i == 0) return 0; return 1; } int main() { int i; scanf("%d",&i); if(is_prime(i))printf("%d是素数\n", i); else printf("%d不是素数\n",i); return 0; }

盐湖区17356633022: 用C语言编写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息! -
锁冉凡林: void main() {int i,j;scanf("%d",&i);for(j=2;j if(i==((int)(i/j))*j) break;if(j>=i)printf("%d为素数\n",i);else printf("%d不是素数\n",i); }

盐湖区17356633022: 问大家一道C语言的题目定义一个判断素数的函数even(n),当n为素数时返回1,否则返回0 -
锁冉凡林:[答案] bool even(int n) { int m=sqrt(n); for(int i=2;i

盐湖区17356633022: C语言.写一个判定素数的函数,在主函数中输入一个整数,输出是否是素数的信息 -
锁冉凡林:#include #include int prime(int m) { int i,n; if(m==1)return 0; n=(int)sqrt((double)m); for(i=2;i<=n;i++) if(m%i==0)return 0;return 1; } void main() {int n;scanf("%d",&n);if(prime(n))printf("%d is a prime.\n",n);elseprintf("%d is not a prime.\n",n); }

盐湖区17356633022: C语言函数判断素数 -
锁冉凡林: #include int jugde(int x) { int i; if(x < 2) return 0; for(i = 2; i <= sqrt(x); ++i) if(x%i == 0) return 0; return 1; } int main() { int i; for(i = 101; i < 1000; i+=2) if(jugde(i) == 1) printf("%d ", i); return 0; }

盐湖区17356633022: 编写一个判断数n是否是素数的函数(c语言) -
锁冉凡林: 判断一个数是否素数的函数可以这样写: int chk(int x) { ok=1; for (i=2;i

盐湖区17356633022: C语言求答!设计一个函数,用来判断一个整数是否为素数? -
锁冉凡林: #include main() { int n,j,found; printf("输入一个数:"); scanf("%d",&n); found=1; for(j=2;j

盐湖区17356633022: C语言编程 写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息. -
锁冉凡林: #include<stdio.h> int isprime(int n) { int i; for (i=2;i<n;i++) if(n%i==0)return 0; return 1; } void main() { int n; printf("请输入一个数:"); scanf("%d",&n); if(isprime(n)) printf("%d是素数\n"); else printf("%di不是素数\n"); } 追问: 求两个数的最大公约数和最小公倍数,用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数. 回答: 请重开问题麻烦采纳,谢谢!

盐湖区17356633022: C语言 实现一个函数,判断一个数是不是素数 -
锁冉凡林: #include#include intfun(int n); int main() { int n; scanf("%d",&n); if(fun*(n)) printf("Yes!\n"); return 0; } int fun(int n) { int i; for(i=2;i if(n%i==0) return 0; return 1; }

盐湖区17356633022: 用C 语言写出一个判素数的函数,在主函数输入一个整数,输出是否素数的信息 -
锁冉凡林: #include "stdio.h" #include "math.h" void main() {long i=2,j;bool IsYes;while(1){IsYes=true;if(i<=1) break;printf("Input a number:");scan("%d",&i);for(j=2;j {if(i%j==0) IsYes=false; }if(IsYes) printf(%d is Prime!\n); else printf(%d is not Prime!\n);} }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网