| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1739 人关注过本帖
标题:[求助]找1000以内的完数,我的程序有何问题?
取消只看楼主 加入收藏
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
收藏
 问题点数:0 回复次数:4 
[求助]找1000以内的完数,我的程序有何问题?
要求1000以内的“完数”(即一个数恰好等于它的所有因子之和),代码如下:
include<iostream.h>
void main()
{cout<<"wansu is"<<endl;
int i,n,m=0;
for(i=1,i<=1000,i++)
{for(n=1,n<i,n++)
if(i%n==0)m+=n;
if(m==i)cout<<i<<endl;}
}


我用的是Turbo C++,运行后只出现“wansu is”请指教!

[此贴子已经被作者于2006-1-22 20:16:08编辑过]

搜索更多相关主题的帖子: 何问题 cout endl 
2006-01-22 16:59
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
收藏
得分:0 
我在运行程序时倒数第二行是if(m==i)cout<<i<<endl;}
分号没有忘,只是在发帖时忘了,所以问题不是在这里。

2006-01-22 17:48
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
收藏
得分:0 
如6就是完数:
1、2、3是它的因子,6=1+2+3

2006-01-22 18:42
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
收藏
得分:0 

谢谢ElfDN大哥!,果然m清零后测试成功!

ElfDN大哥将

“if(i%n==0)”改为“if(!i%j)”

似乎应该是“if(!(i%j))” 不然也不行吧?


2006-01-22 20:05
fxzjw
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-1-22
收藏
得分:0 
楼上说的有误吧,
!(5%3):true
不对,5%3=2,取反就是0即false(非0取反即为0)
所以应该是等价的

2006-01-28 01:38
快速回复:[求助]找1000以内的完数,我的程序有何问题?
数据加载中...
 
   



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

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