跃2.0 2016-12-30 02:37 采纳率: 40%
浏览 1841
已结题

1000以内的完数,麻烦请看清题目和题目要求,拜托啦,代码改了好久,请大神帮忙改下代码,题目如下

问题 O: 1000以内的完数
题目描述
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
输入
一个sum (sum < 1000) ,表示测试数据的组数,接着sum行,每一行表示一个测试数据n,表示要求1到n以内的完数,1在这里不算是完数。

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

样例输入
2
1
6
样例输出
none
6
提示
不要妄想输出答案。

my wrong:
#include
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");
    }
}

}

  • 写回答

7条回答 默认 最新

  • 广州-张瑞宝 2016-12-30 03:35
    关注

    个人思路:
    1:先找出1000以内所有的数的因子,保存
    2:在计算这些数的因子的和是否相等于这个数,判断是否是完数

    评论

报告相同问题?

悬赏问题

  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名