程序超时问题怎么解决 求帮助
题目:如果整数a的全部因子(包括1,不包括a本身)之和等于b;
且整数b的全部因子(包括1,不包括b本身)之和等于a,则将整数a和整数b称为亲密数。求3000以内的全部亲密数。
程序代码:
#include <stdio.h> int sum(int x) { int i,su=0; for (i=1;i<x;i++) { if (x%i==0) {su=su+i;} } return su; } void main() { int i,j; for (i=1;i<3000;i++) { for (j=i+1;j<3000;j++) { if (sum(i)==j&&sum(j)==i) {printf ("%d...%d\n",i,j);} } } }