解题思路:
注意事项: 浮点数在计算机中并不是准确存储的, 比如: 1.0 在计算机中有可能时0.999999;如果直接强转(int)的还有可能出现意料不到的错误(这个错误出现的几率特别低,但是我们要把代码写的容错性要好就要从细节出发),
参考代码:
#include <stdio.h> #include <math.h> int isPrime(int N) { if(N <= 1) { return 0; } for(int j = 2; j <= floor(sqrt(N)+0.5); ++j) { if(N%j == 0) { return 0; } } return 1; } int main(void) { int N; scanf("%d", &N); for(int i = 1; i <= N; ++i) { if(isPrime(i)) { printf("%d\n", i); } } return 0; }
0.0分
0 人评分