| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:acm 1000以内完数,代码错了不会改,求大神修改下或者帮忙指点
取消只看楼主 加入收藏
白衣柳相
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:142
专家分:168
注 册:2016-12-23
结帖率:82.61%
收藏
已结贴  问题点数:10 回复次数:1 
acm 1000以内完数,代码错了不会改,求大神修改下或者帮忙指点


问题 O: 1000以内的完数

题目描述

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。

本题要求使用函数实现,函数原型

void startJudge(int value) {

        if(  Judge(value) ) {

             printf("%d ",value);   

        }

}
输入

一个sum (sum < 1000) ,表示测试数据的组数,接着sum行,每一行表示一个测试数据n,表示要求1到n以内的完数,1在这里不算是完数。

输出

范围内的完数,如果范围内没有完数请输出none,每组测试数据空出一行(如果完数有多个,每个数字后面都输出空格)。
样例输入

2
1
6

样例输出

none
6

我的错代码:
#include<stdio.h>
int main()
{
    int n,i,sum,j,k,m;
    scanf("%d",&j);
    sum=0;
    for(k=0; k<j; k++)
    {
        scanf("%d",&n);
        for(m=1; m<n; m++)
        {
            for(i=1; i<m; i++)
            {
                if(m%i==0)
                    sum=i+sum;
            }
        }
        if(sum==m)
        {
            printf("%d ",sum);
        }


        if(sum==0)
        {
            printf("none\n");
        }
    }
}


我的代码只符合样例,输入100,1000就是错,,,,,,,,,不要管题目要求里的函数。
2016-12-27 19:56
白衣柳相
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:142
专家分:168
注 册:2016-12-23
收藏
得分:0 
回复 2楼 九转星河
代码,,,,,,,,,,

什么最重要,学习!!!! 我要你们无话可说!我想要的东西自己去拿
2016-12-27 19:58
快速回复:acm 1000以内完数,代码错了不会改,求大神修改下或者帮忙指点
数据加载中...
 
   



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

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