怎么用C输出一个完全数=因子相加

img


不会在最后面输出加法算式其他地方也找不到正确方法
有没有哪位哥可以教一哈子
感激不尽

循环遍历1-n的数 如果n能整除它就是n的因子了

#include <stdio.h>

int main()
{
    int nums[1001];
    for(int i = 1;i <= 1000;i++){
        int sum = 0;
        int count = 0;
        for(int j = 1;j < i;j++){
            if(i % j == 0){
                nums[count++] = j;
                sum += j;
            }
        }
        if(sum == i){
            printf("%d=",i);
            for(int j = 0;j < count - 1;j++){
                printf("%d+",nums[j]);
            }
            printf("%d\n",nums[count - 1]);
        }
    } 
    return 0;
}

那你的意思是寻找完数已经会了是吗
既然你已经找到了一个完数,那再原样循环一次,循环里每个因子printf出来不就行了