问题描述
- 求1到100的素数的C语代码 有多少种写多少种
-
求1到100的素数的C语言循环代码有多少种写多少种
求1到100的素数的C语言循环代码有多少种写多少种
解决方案
# include <stdio.h>
# include <math.h>
int main()
{ int i, j, c; c = 0; for (i = 100; i <= 200; i++)
{ c = 0; for (j = 2; j < sqrt(i); j++) { if (i%j == 0) c = 1; break; }
if (c == 0)printf("%d是素数", i); } getchar(); return 0;
}
每次循环前要先将c置0
运行结果
101是素数103是素数105是素数107是素数109是素数111是素数113是素数115是素数117是素数119是素数121是素数123是素数125是素数127是素数129是素数131是素数133是素数135是素数137是素数139是素数141是素数143是素数145是素数147是素数149是素数151是素数153是素数155是素数157是素数159是素数161是素数163是素数165是素数167是素数169是素数171是素数173是素数175是素数177是素数179是素数181是素数183是素数185是素数187是素数189是素数191是素数193是素数195是素数197是素数199是素数
解决方案二:
http://blog.csdn.net/liukehua123/article/details/5482854
建议你自己读一遍基础的内容吧。
解决方案三:
写程序相当于写作文,不是死记硬背多少种,而是掌握算法和原理,运用自如。一个程序你会写了你可以写出无数的写法。当然,你应该选择简单、高效、易读的方式去写。
解决方案四:
#include
int main()
{
int i;
int j;
int c = 0;
for (j = 1; j < 100; j++)
{
c = 0;
for (i = 2; i < j; i++)
{
if (j%i == 0)
{
c = 1;
break;
}
}
if (c = 0)
{
printf("%d is su shun", j);
}
}
return 0;
}
解决方案五:
if (c = 0)
c == 0
之前好像纠正你了,又错了。
解决方案六:
另外,1不是素数。
程序有些地方可以优化,比如
for (i = 2; i < j; i++)
这里循环到j<j/2就够了
另外,还可以用一个数组记录已经找到的素数。
不需要每个都判断,只要判断这个素数表中的素数就可以了。因为不能被素数整除,必然不能被它们的积整除。
除了穷举,还有筛选法也可以求素数,具体google
解决方案七:
include
include
int main()
{
int i, j, c;
c = 0;
for (i = 100; i <= 200; i++)
{
for (j = 2; j < sqrt(i); j++)
{
if (i%j == 0)
c = 1;
break;
}
if (c == 0)printf("%d是素数", i);
}
getchar();
return 0;
}
解决方案八:
另外一个帖子问一个问题,记得及时采纳。