解题思路:
发现题解里竟然少有用sqrt函数的,在此做个补充。
用sqrt可以极大地减少复杂度,大大降低内存的占用率
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
int N = 0;
scanf("%d", &N);
for (int i = 2; i <= N; i++)
{
int flag = 1;
for (int j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
printf("%d\n",i);
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:636 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1031 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:651 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:449 |
WU-整数平均值 (C++代码)浏览:1244 |
1009题解浏览:750 |
罗列完美数 (C语言代码)浏览:491 |