| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3715 人关注过本帖
标题:一道求因子之和的问题
取消只看楼主 加入收藏
seep666
Rank: 2
等 级:论坛游民
帖 子:91
专家分:14
注 册:2010-3-18
结帖率:62.07%
收藏
已结贴  问题点数:20 回复次数:1 
一道求因子之和的问题
输入一个非质数n,除1和它本身之外,所有的因子之和,
下面是我做的,当我输入18时,运行的结果怎么也是9
#include"stdio.h"
int fun(int n)
{
   int sum=0,i=2;
   while(i<n/2)
   {
       while(n%i==0)
       {
       sum=sum+i;
       n=n/i;}
           i++;
   }
   sum=sum+n;
    return sum;     
}
   void main()
   {
   int n=18;
   fun(n);
   printf("%d",fun(n));
   }
搜索更多相关主题的帖子: 之和 
2010-08-21 13:38
seep666
Rank: 2
等 级:论坛游民
帖 子:91
专家分:14
注 册:2010-3-18
收藏
得分:0 
回复 2楼 御坂美琴
怎么可能后面还有一个1,当n等于3时,i的值也是3,他就不会在循环下去,所以不可能有1的出现,n最后的值应当是3,难道我哪步错了吗
2010-08-22 11:22
快速回复:一道求因子之和的问题
数据加载中...
 
   



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

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