莫妒 2021-03-13 13:16 采纳率: 100%
浏览 661
已结题

C++代码求1000以内的完数

#include<iostream>
using namespace std;

//编译没有问题,但是跑不出来

int main() {
    int i,j,k=1,total;
    for (i = 2; i < 1000; i++) {
        total = 0;
        for (j = 1; j <= (int)sqrt(i); j++) {
            if ((i % j) == 0)total = total + j;
            if (total == i) {
                cout << i;
                cout << "它的因数为" << endl;
                for (k = 1; k <= (int)sqrt(i); k++)
                    if (i % k == 0) cout << k << ' ';
                cout << endl;
            }
        }
        
    }
    return 0;
}

  • 写回答

3条回答 默认 最新

  • cpp_learners 2021-03-13 13:49
    关注

    这样???

    #include<iostream>
    using namespace std;
    
    //编译没有问题,但是跑不出来
    
    int main() {
    	int i, j, k = 1, total;
    
    	for (i = 2; i < 1000; i++) {
    
    		total = 0;
    		for (j = 1; j <= /*(int)sqrt(i)*/i; j++) {
    
    			if ((i % j) == 0) total = total + j;
    
    			if (total == i) {
    				cout << i;
    				cout << "它的因数为" << endl;
    
    				for (k = 1; k <= /*(int)sqrt(i)*/i; k++)
    					if (i % k == 0) cout << k << ' ';
    
    				cout << endl;
    			}
    		}
    
    	}
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月23日
  • 已采纳回答 4月23日

悬赏问题

  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题