admin 管理员组文章数量: 887021
2023年12月23日发(作者:quotation怎么用)
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("%dn",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("%dn",number);
}
}
}
2、这里用到了 sqrt()函数,sqrt的全称是 squre root 即平方根,使用时别忘了引入头文件
#include
3、求100以内的素数,再判断某数n是否为素数时,不需要从2一直除到n,只需要从2除到sqrt(n)【注意sqrt(n)也要判断】即可
版权声明:本文标题:C程序设计-求100以内所有素数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703336518h447449.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论