| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:大一新学C语言,求指导
只看楼主 加入收藏
龙纹身的男孩
Rank: 1
来 自:安徽芜湖
等 级:新手上路
帖 子:27
专家分:7
注 册:2014-11-27
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:14 
大一新学C语言,求指导
找到1000以内的所有完数,如6是一个完数,因为6=1+2+3.求大神指导这题目的思路该怎么想。
搜索更多相关主题的帖子: C语言 
2014-11-27 09:44
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
搜搜  别处都不用去  就搜本论坛就有一堆一大堆   即便你是伸手党 也可以直接拿到代码

DO IT YOURSELF !
2014-11-27 09:45
龙纹身的男孩
Rank: 1
来 自:安徽芜湖
等 级:新手上路
帖 子:27
专家分:7
注 册:2014-11-27
收藏
得分:0 
回复 2 楼 wp231957
主要是想知道你们是怎么想这题的思路的。代码可以找到,但是看过不理解还是没用啊。

你只有跑的比时间快,才能改变这个结局。
2014-11-27 09:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
首先分解一个自然数的所有因子  然后再把这些因子累加起来  看和原数是否相等

DO IT YOURSELF !
2014-11-27 09:48
龙纹身的男孩
Rank: 1
来 自:安徽芜湖
等 级:新手上路
帖 子:27
专家分:7
注 册:2014-11-27
收藏
得分:0 
回复 4 楼 wp231957
就是用循环一个一个找出因子,然后赋值给累加器,最后看累加器的值与输入的值是否相等。,要设置3个变量吧。这样对吧。

你只有跑的比时间快,才能改变这个结局。
2014-11-27 09:51
yahwei
Rank: 7Rank: 7Rank: 7
来 自:湖~
等 级:黑侠
威 望:3
帖 子:145
专家分:644
注 册:2011-11-10
收藏
得分:5 
以下是引用龙纹身的男孩在2014-11-27 09:47:06的发言:

主要是想知道你们是怎么想这题的思路的。代码可以找到,但是看过不理解还是没用啊。


对于这类小题目,上策是自己想思路,自己写代码然后和别人的比较;中策是看别人的代码,学别人的思路;下策是自己不愿意多想,也不愿意分析别人的代码,只会把“我不会”放在嘴边,等着别人来给自己讲解。
我经常给自己的弟弟妹妹辅导功课,如果他们碰到一些简单的题目,张口就说不会不会,我绝对是一巴掌扇过去了……你说你看过别人的代码却不理解,在我看来那绝对是没看。

[qq]949654600[/qq]
2014-11-27 10:04
龙纹身的男孩
Rank: 1
来 自:安徽芜湖
等 级:新手上路
帖 子:27
专家分:7
注 册:2014-11-27
收藏
得分:0 
回复 6 楼 yahwei
百度出来的没几个我学过啊,我才学第一个循环呢啊。就是for循环,其他的循环我都没看过呢。

你只有跑的比时间快,才能改变这个结局。
2014-11-27 10:08
龙纹身的男孩
Rank: 1
来 自:安徽芜湖
等 级:新手上路
帖 子:27
专家分:7
注 册:2014-11-27
收藏
得分:0 
回复 6 楼 yahwei
百度出来的没几个我学过啊,我才学第一个循环呢啊。就是for循环,其他的循环我都没看过呢。

你只有跑的比时间快,才能改变这个结局。
2014-11-27 10:08
poppyboy
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2014-11-26
收藏
得分:0 
# include <stdio.h>
int main (void)
{
int t, s=0, k, sum;
for (s=0; s<=1000; ++s)   /*s是十位。当s是1000就是求10000以内的*/
{
t=s*10+6;
sum=1;
for (k=2; k<t; ++k)
{
if (t%k==0)
sum=sum+t/k;
}
if (sum==t)

printf ("%d\n", sum);

t=s*10+8;sum=1;
for (k=2;k<t; ++k)
{
if (t%k==0)
sum=sum+t/k;
}
if (sum==t)

printf ("%d\n", sum);

}

return 0;
}

[ 本帖最后由 poppyboy 于 2014-11-27 13:37 编辑 ]
2014-11-27 13:17
poppyboy
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2014-11-26
收藏
得分:0 
这个只用了for 和 if.应该学了吧
2014-11-27 13:36
快速回复:大一新学C语言,求指导
数据加载中...
 
   



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

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