dzWatching 2020-12-02 20:42 采纳率: 57.1%
浏览 3
已采纳

为什么会有120,672这两个数,他们不符合我给的条件为什么还是会输出?

//Exe2.4 编程求1000以内的所有完数。(完数:除自身外等于其余所有约数的和) 
#include <iostream>
using namespace std;
int main(){
    int num = 1;
    int sum = 0;
    for(int i = 1;i <= 1000;i++){
        for(int j = 1;j <= 1000;j++){
            if(num % j == 0){
                sum += j;
                if(num == (sum - num)){
                    cout << num << endl; 
                } 
            }
            else{
                continue;
            }
        }
        sum = 0;
        num++;
    }

 

  • 写回答

2条回答 默认 最新

  • qq_25376897 2020-12-03 00:26
    关注
    #include <iostream>
    using namespace std;
    int main(){
        int sum = 0;
        for(int i = 1;i <= 1000;i++){
            for(int j = 1;j < i;j++){
                if(i % j == 0){
                    sum += j;
                }
            }
            if(sum==i){
                cout <<i<< endl; 
            }
            sum = 0;
        }
    } 
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料