↑ 收起筛选 ↑
C语言求1000以内的素数(素数是只能被1和它本身整除的数)
2020-07-31

#include<stdio.h> bool judge(int n) //判断是否是素数的函数 { for(int i = 2;i <= n / 2;i++) if(n % i == 0) return 0; //可以被某个数整除,不是素数返回0 return 1; //是素数返回1 } int main() { for(int k = 2; k < 1000; k++) if(judge(k)) printf("%4d",k); //是就输出 return 0; }

#include#includemain(){ int i,j,flag=1; for(i=2;i {flag=1; for(j=2;j if(i%j==0) flag=0; if(flag==1) printf("%d,",i); }}//判断是否为素数

main(){int a=1,b;printf("1 ");while(a&lt;=1000){b=2;do{ if(a%b==0) break; b++;}while(b&lt;a);if(b==a)printf("%d ",a);a++;}}一楼是错的算不出来因为他的K是== 1也是质素 数字要分开才行

最简单的办法就是用一个数除以从2开始到它的平方根的所有值,如果都不能整除,则这个数就是素数.bool isSuShu(int N) { for(int i = 2; i <= sqrt(N); i++) { if(N % i == 0) return false; } return true; } main() { for(int i = 2; i <= 1000; i++) { if(isSuShu(i)) printf("%d,",i); } printf("\n"); }

for i=1 to 1000 flag=0 for j=2 to i-1 if i mod j=0 then flag=1 next j if flag=0 then print i next i

#include<stdio.h>main(){int m ,i;double k ;scanf("%d",&m);k=sqrt(m);for(i=2;i<=k&&m%i!复=0;i++);if(i>k)printf("%d是一个素数制!百\n",m);elseprintf("%d不是度一个素数!\n",m);}

以下是求n以内的素数的程序.只要输入n的值,就能求出n以内所有的素数.var n,i,s:integer; yes:boolean;begin write('N='); readln(n); s:=0; for n:=2 to n do begin yes:=true; {先假定n是素数} for i:=2 to trunc(sqrt(n)) do if n mod i=0 then begin yes:=

#include<stdio.h>#include<math.h> int m,n; m=100; n=200; int main() { int res[100]={0}; int i,j,k,flag; k=0; for(i=m;i<=n;++i) { for(j=2;j<sqrt(n);++j) if(i%j==0) { flag=0; break; } else flag=1; if(flag==1) res[k++]=i; } printf("%d至%d之间所有的质数为如下

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

延伸阅读: