| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1327 人关注过本帖
标题:显示所有质数,弄不出1来
取消只看楼主 加入收藏
ReadingLi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-6
收藏
 问题点数:0 回复次数:3 
显示所有质数,弄不出1来

题中让我弄出1~100的质数,研究半天,终于出来了
#include <iostream>
using namespace std;
void main ()
{
int n,b,c,d;
for(n=1;n<=100;n++)
{
for (b=n;b>=1;b--)
{
d=b-1;
if (d==0)
break;
c=n%d;
if (d>1&&c==0)
break;
else if (d==1&&c==0)
cout <<n<<" "endl;


}
}
}
我的意思是让每个数一个个往下除(比自己小的数),如果中途有能除尽了的数就不是质数,当只有除到1时才能除尽就是质数了,这样出来后是从2开始的,我明白当n=1时,d=b-1=0了,break跳出,可是不跳出会说程序出错,还让我发送,我理解的原因是因为c=n%d,中,d=0了,所以不行,可这样一来,1就出不来了啊!帮忙改改让1也自己出来啊,我这个程序能想到的就是在循环之前直接加个cout <<"1";了

搜索更多相关主题的帖子: 质数 
2007-08-07 15:37
ReadingLi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-6
收藏
得分:0 

靠~~~~不会吧,我为这个1弄了一多小时了

2007-08-07 16:49
ReadingLi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-6
收藏
得分:0 
回复:(maoguoqing)[em02] if (1 == n) cout
呵呵,我也就知道能这么干,我觉得开始我一下定义了四个变量,是不是有点多啊,能不能有什么更简单的程序啊,感觉有点复杂!
2007-08-08 09:56
ReadingLi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-6
收藏
得分:0 
OK,谢了,确实简单了不少,你的意思是,从2往上一个个除是吧,这样省了不少步骤
2007-08-08 10:44
快速回复:显示所有质数,弄不出1来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046435 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved