发布网友 发布时间:2024-10-24 13:18
共2个回答
热心网友 时间:2024-10-26 08:19
因为如果一个数不是素数是合数, 那么一定可以由两个自然数相乘得到, 其中一个大于或等于它的平方根,一个小于或等于它的平方根。并且成对出现。 程序改了下: #include <stdio.h> int main(void) { int m,i; scanf("%d",&m); for(i=2;i<m;i++) { if(m%i==0) break; } if (i < m) printf("%d is not a prime number\n",m); else printf("%d is a prime number\n",m); return 0; }热心网友 时间:2024-10-26 08:15
有几个问题 i没有初始值 for(i>1,i<m,i++); 括号里面用;而不是, 最后一个;去掉 补充: 判断素数 的最优算法就是只判断2到根号n之间的数 如果你要判断2到m-1也是可以的 只是效率上不是最优