我写的求100~200间全部素数,输出结果是100-200间的数全是素数,高手帮我看下哪错了?谢谢

[复制链接]
查看11 | 回复1 | 2011-4-6 03:43:43 | 显示全部楼层 |阅读模式
#include stdio.h
#include math.h
void main()
{
int i, k, j;
for (i = 100; i= 200; i)
{
k = sqrt (i);
for (j = 2; j = i; j)
{
if (k % j == 0) break;
}
if(jk)printf(\"%d is not a prime\\n\",i);
else printf(\"%d is a prime\\n\",i);
}
}
回复

使用道具 举报

千问 | 2011-4-6 03:43:43 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">#include stdio.h
#include math.h
void main()
{
int i, k, j;
for (i = 100; i= 200; i)
{
k = sqrt (i);
for (j = 2; j = i; j)//循环到i的平方根就可以,减少函数循环,简化程序。

//修改为 for (j=2;j=k;j)
{
if (k % j == 0) break; //这里应该用原来的数据来取余,而不是用他的平方根来取。

//修改为if(i%j==0)break
}
if(jk)printf(\"%d is not a prime\\n\",i);
else printf(\"%d is a prime\\n\",i);
}
}
试试看,怎么样...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行