写一个函数int prime(int x),判断数值x是否素数,如果是返回1,否则返回0。
作者&投稿:星克 (若有异议请与网页底部的电邮联系)
源代码如下:
#include<stdio.h>
#include<math.h>
intprime(intx)
{ inti;
for(i=2;i<x;i++)
if(x%i==0)
return0;
elsereturn1; }
main()
{
intx,m;
printf("请输入需要判断的数字:
");
scanf("%d",&x);
m=prime(x);
if(m==1)
{ printf("%d是素数
",x); }
else
{ printf("%d不是素数
",x); }}
扩展资料:
素数性质
质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,??,pn,设N=p1×p2×??×pn,那么,
是素数或者不是素数。
如果
为素数,则
要大于p1,p2,??,pn,所以它不在那些假设的素数集合中。
1、如果为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,??,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。
2、其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。
参考资料来源:百度百科-C语言
百度百科-质数
佼炉奥扎: 1:return 0;2:return 1;
高淳县17023529752: 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0.利用该函数找出 - ?
佼炉奥扎: #include "stdio.h" int prime(int n) {int i;for(i=2;i<=n/2;i++)if(n%i==0)return 0;return 1; } int main() {int i;for(i=100;i<=200;i++)if(prime(i)==1)printf("%d\t",i);printf("\n");}
高淳县17023529752: c语言 编写一判别素数的函数,在主函数中输入一个整数,输出该数是否为素数的信息. - ?
佼炉奥扎: #include<stdio.h> void main() { int prime(int);int n;printf("\n input an integer:");scanf("%d",&n); if(prime(n))printf("\n %d is a prime.\n"); elseprintf("\n %d is not a prime.\n"); } int prime(int n) /*调用*/ { int flag=1,i;for(i=2;i<n/2&&flag==1;i++)if(n%i==0)flag=0;return(flag);}
高淳县17023529752: 求写一个函数int prime(int x),如果x是素数返回值为1,否则返回0.并用主函数验证它?
佼炉奥扎: 源程序如下: #include <stdio.h> main() { int n; printf("Input a number please:"); scanf("%d",&n); if (prime(n)!=0) printf("%d is ss\n",n); else printf("%d is not ss\n",n); } int prime(int x) { int i; for(i=2;i<x;i++) if(x%i==0) return 0; return 1; } 程序测试结果如下图示:
高淳县17023529752: 急 急 急 定义函数int prime(int n)求一个正整数是否为素数,并在主函数中调用判断一个值是否为素数 ?? - ?
佼炉奥扎: #include<math.h> bool prime(int n) {if (n%2==0) return false; for (int i=3;i<=sqrt(n);i+=2) if (n%i==0) return false; return true;}
高淳县17023529752: 请编写一个函数prime,如果参数为素数,函数返回1,否则返回0. - ?
佼炉奥扎: #include<stdio.h> #include <stdlib.h> int prime(int x) { if(x==2) { printf("\u65e2\u4e0d\u662f\u7d20\u6570\u4e5f\u4e0d\u662f\u5408\u6570\n"); exit(-1); } for(int i=2;i<x;i++) { if(x%i==0) return 0; else { return 1; break; } } } int main(){ printf("%d\n",prime(13));//测试 }
高淳县17023529752: 、编写一个函数,函数名prime(),完成判断一个数是否是素数的功能,返回值为0或1,0代表不是素数,1代表是素数. - ?
佼炉奥扎: int prime(int par){for(int i=2;i<par;i++){if(par % i == 0){return 0;}}return 1; }
高淳县17023529752: 写一个判别素数的函数prime(),在主函数输入一个整数,判断输出是否是素数. - ?
佼炉奥扎: 这个是C语言的程序. 如果你想要C++的程序我可以改一下. #include<stdio.h> void main() { int number; int prime(int number); printf("请输入一个正整数:\n"); scanf("%d",&number); if (prime(number)) printf("\n %d是素数. ",number); ...
高淳县17023529752: 一个判断素数的函数 - ?
佼炉奥扎: int prinme(int a) //这里有问题,应该是prime { int n; while (a<n) if (!(n%a++)||(a==n)) return 1; else return 0; } 另外你这个prime函数也有问题
高淳县17023529752: 一道C语言程序题,写一个函数int prime(int x),如果x是素数返回1,否则返回0,并用主函数验证 - ?
佼炉奥扎: 无语...有谁把scanf()放到主函数外面的??另外你的素数判断函数没有0和1 的情况!!#include<stdio.h> int x,i,a; int prime(int x) { int i; if(x == 0 || x == 1) return 0; for(i=2;i<x;i++) if(x%i==0)return 0; if(i>=x)return 1; } int main() { scanf("%d",&x);//注意!! a=prime(x); printf("%d\n",a);return 0; }