C程序设计-求100以内所有素数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C程序设计-求100以内所有素数
1、提示:素数又叫质数,指只能被1和自己本身整出的自然数(1和0即非质数又非合数)
方法一:
#include
#include
void main(){
int number = 2;
int i;
for(number ; number<=100; number++){ //1号for循环
for ( i=2; i<=sqrt(number); i++){ //2号for循环
if (number%i == 0){
break;
}
}
if (i>sqrt(number)) { //如果2号for循环结束时,if语句从来没执行,那么i的值肯定大于sqrt(number),所以用这个表达式来判断是否为素数
printf("%d\n",number);
}
}
}
方法二(笨,但却很容易理解的方法,设置标志变量flag)
#include
#include
void main(){
int number = 2;
int i;
char flag = 0;
for(number ; number<=100; number++){
flag = 1;
for ( i=2; i<=sqrt(number); i++){
if (number%i == 0){
flag = 0; //用标志变量来判断for循环是否成功进入if语句
break;
}
}
if (flag == 1) {
printf("%d\n",number);
}
}
}
2、这里用到了sqrt()函数,sqrt的全称是squre root 即平方根,使用时别忘了引入头文件
#include<math.h>
3、求100以内的素数,再判断某数n是否为素数时,不需要从2一直除到n,只需要从2除到sqrt(n)【注意sqrt(n)也要判断】即可。

相关文档
最新文档