#include<stdio.h> #include<math.h> /* 该函数耗时比较长,pass bool isPrime_1( int num ) { int tmp =num- 1; for(int i= 2;i <=tmp; i++) if(num %i== 0) return 0 ; return 1 ;} */ bool isPrime_1( int num ) { int tmp =sqrt(num); for(int i= 2;i <=tmp; i++) if(num %i== 0) return 0 ; return 1 ;} int main(){ int NUM; int line = 0; printf("请输入整数:"); scanf("%d",&NUM); for(int a = 2;a<=NUM;a++){ int flag = isPrime_1(a); if (flag==1){ printf("%d\t",a); line++; if(line%10==0){ printf("\n"); } } } }这段代码的思考感悟
时间: 2024-04-27 07:20:19 浏览: 71
#include "stdio.h" /* 输入输出函数的头文件 */
这段代码是一个简单的求某个范围内素数的程序,使用了两种判断素数的方法:一种是遍历到 num-1,判断是否能被整除;另一种是只需要遍历到 sqrt(num),判断是否能被整除。显然,第二种方法在效率上更高,因为在遍历的过程中需要判断的数更少。
此外,代码还使用了换行和制表符的方式来控制输出格式,使得输出的素数更加清晰易读。对于初学者来说,这是一段值得学习的代码,可以帮助理解素数和循环的基本概念,同时也可以熟练掌握 scanf 和 printf 等输入输出函数的使用。
阅读全文