c语言:5. 编程判断输入的任意整数m是否为素数。(素数只能被1和它本身整除,没有其它约数) 编辑一个C语言程序 判断数m是否为素数(只能被1和它本身整除...

\u7f16\u7a0b\u5b9e\u73b0\uff1a\u8f93\u5165\u4e00\u4e2a\u6574\u6570\uff0c\u5224\u65ad\u8fd9\u4e2a\u6570\u662f\u4e0d\u662f\u7d20\u6570\u3002\u6ce8\uff1a\u7d20\u6570\u662f\u6307\u53ea\u80fd\u88ab1\u548c\u5b83\u672c\u8eab\u6574\u9664\u7684\u6574\u6570\u3002\u8fd0\u884c

C\u53ef\u4ee5\u8fd9\u4e48\u5199\u2014\u2014

\u4ee3\u7801\u8d44\u6599\uff1a
#include "stdio.h"
int prime(int n){//\u7d20\u6570\u5224\u65ad
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int n;
printf("Please enter an integer(int >0)...\nn=");
if(scanf("%d",&n)!=1 || n<1){
printf("Input error, exit...\n");
return 0;
}
printf("%d-->%s\n",n,prime(n) ? "Yes\n" : "No\n");
return 0;
}

1\u3001\u9996\u5148\u6253\u5f00visual C++\u8f6f\u4ef6\uff0c\u6309\u4e0b\u5feb\u6377\u952eCrtl+N\u65b0\u5efa\u4efb\u52a1\uff0c\u5f39\u51fa\u7a97\u53e3\u7528\u9f20\u6807\u5de6\u952e\u70b9\u51fb\u6587\u4ef6\uff0c\u9009\u62e9C++ source file\uff1a

2\u3001\u63a5\u4e0b\u6765\u5c31\u7f16\u5199\u4e3b\u7a0b\u5e8f\uff0c\u7d20\u6570\u662f\u53ea\u80fd\u88ab1\u548c\u81ea\u5df1\u6574\u9664\u7684\u6570\uff0c\u56e0\u6b64\u5224\u65ad\u4e00\u4e2a\u6574\u6570m\u662f\u5426\u4e3a\u7d20\u6570\uff0c\u53ea\u9700\u88ab 2 ~ \u6839\u53f7m\u4e4b\u95f4\u7684\u6bcf\u4e00\u4e2a\u6574\u6570\u53bb\u9664\u5c31\u53ef\u4ee5\u4e86\u3002\u5982\u679c m \u4e0d\u80fd\u88ab 2 ~ \u6839\u53f7m \u95f4\u4efb\u4e00\u6574\u6570\u6574\u9664\uff0cm \u5fc5\u5b9a\u662f\u7d20\u6570\u3002
\u6240\u4ee5\u8fd9\u91cc\u8981\u5148\u53bb\u7528sqrt\u6c42q\u7684\u66f4\u597d\uff0c\u5728\u7528for\u5faa\u73af\u8ba1\u7b97\u6bcf\u4e00\u4e2a\u6570\uff1a

3\u3001\u7a0b\u5e8f\u7f16\u5b8c\u540e\uff0c\u5c31\u53ef\u4ee5\u67e5\u770b\u7ed3\u679c\u4e86\uff0c\u8fd9\u91cc\u8f93\u516517\uff0c\u7a0b\u5e8f\u5224\u65ad17\u662f\u7d20\u6570\uff0c\u5728\u591a\u8f93\u5165\u51e0\u4e2a\u6570\u8fdb\u884c\u5224\u65ad\uff0c\u53d1\u73b0\u7a0b\u5e8f\u53ef\u4ee5\u5b8c\u7f8e\u7684\u8fd0\u884c\uff1a





采用的算法如下:让m被2和k除,如果m能被2~k之中的任何一个整数整除,则提前结束循环;否则,完成最后一次循环后,i加1,然后终止循环。
#include<stdio.h>
#include<math.h>
void main()
{
int m,i,k;
scanf("%d",&m);//m为输入的一个数
k=sqrt(m); //k是m的根号取整
for (i=2;i<=k;i++)
if (m%k==0) break;
if (m>k) printf("%d 是一个素数\n",m);
else printf("%d 不是一个素数\n",m);
}



#include<stdio.h>
#include<math.h>
int main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m);
for (i=2;i<=k;i++)
if (m%i==0) break;
if (i>k) printf("m is a prime number!\n");
else printf("m is not a prime number!\n");
}

扩展阅读:少儿编程一共有几级 ... 小学生c++趣味编程视频 ... 一节课教你学会c++视频 ... c++入门程序代码 ... 少儿编程培训机构 ... 手机c++编程软件 ... c++入门自学 ... 学习c++的视频 ... c++免费视频教程 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网