找出斐波那契数列前20项中不是完数的数。列如6的因子上1,2,3,而6=1+2+3,因此6是完数。
1条回答 默认 最新
- 五一编程 2022-01-21 22:48关注
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用