解题思路:先写一个判断是否是素数的函数,接下来就好做了
素数是只能被1或自己本身整除的数
bool isPrimeNum(int x){ if(x <= 1) return false; //1不是素数 int k = (int)sqrt(1.0 * x); for(int i = 2; i <= k;i++){//只用判断2~这个数的开平方即可,之后的数不用在判断了,(在判断就是重复了) if(x % i == 0) return false; } return true; }
最后的代码
#include<stdio.h> #include<math.h> bool isPrimeNum(int x){ if(x <= 1) return false; int k = (int)sqrt(1.0 * x); for(int i = 2; i <= k;i++){ if(x % i == 0) return false; } return true; } int main(){ int N; scanf("%d",&N); for(int i = 2; i <= N; i++){ if(isPrimeNum(i)) printf("%d\n",i); } return 0; }
注意:教的时候选择C++,选择C语言会报编译错误
0.0分
3 人评分
C二级辅导-阶乘数列 (C语言代码)浏览:541 |
明明的随机数 (C++代码)浏览:817 |
整人!!浏览:838 |
C语言训练-阶乘和数* (C语言代码)浏览:978 |
母牛的故事 (C语言代码)浏览:736 |
ASCII帮了大忙浏览:748 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1813 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1326 |
用筛法求之N内的素数。 (C语言代码)浏览:646 |
演讲大赛评分 (C语言代码)浏览:1628 |