1、求100以内的所有素数
(2013-02-28 22:34:13)分类: 几道小题 |
1、提示:素数又叫质数,指只能被1和自己本身整出的自然数(1和0即非质数又非合数)
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);
}
}
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);
}
}
方法一:
#include
#include
void main(){
}
方法二(笨,但却很容易理解的方法,设置标志变量flag)
#include
#include
void main(){
}
2、这里用到了 sqrt()函数,sqrt的全称是 squre root
即平方根,使用时别忘了引入头文件
#include<math.h>
3、求100以内的素数,再判断某数n是否为素数时,不需要从2一直除到n,只需要从2除到sqrt(n)【注意sqrt(n)也要判断】即可
前一篇:好听英文歌
后一篇:C语言实现fibonacci数列