找出斐波那契数列中的不是完数的数

找出斐波那契数列前20项中不是完数的数。列如6的因子上1,2,3,而6=1+2+3,因此6是完数。


#include<stdio.h>
 
int main(){
    int i, j, sum;
    int cnt = 50;        // 需要输出的项数 
    double fib[200] = {1.0, 1.0}; // int溢出,需要把数组类型改为 double 
    for(i = 2; i < cnt + 1; i++){
        fib[i] = fib[i-2] + fib[i-1];    
    }
    
    for(i = 0; i < cnt + 1; i++){
        sum = 0;
        for(j = 1; j < i; j++){
            if(i%j == 0){
                sum += j;
            }
      }
      if(i == sum){
            printf("%12.0lf",fib[i]);        // 右对齐12字符 
        }
    }
    printf("\n");
    
    return 0;
}