【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《有趣的C语言编程-----相亲数对》,欢迎阅读!
有趣的C语言编程:下面讲的是一个关于相亲数对的源程序。
首先我先讲一下什么是相亲数对,例如num1和num2两个数,当num1的真因子数之和(所谓真因子数就是出了书本身以外的其他因子数)等于num2,而num2的真因子数之和等于num1,这样的数对称为相亲数对!好了就说到这,下面请看代码吧!(另附运行结果)
#include #include int main() { int i,num,sum1,sum2; for(num=11;num<=9999;num++) { sum1=1; sum2=1; for(i=2;i<=sqrt(num);i++) { if(num%i==0) sum1+=i+num/i; } if(num==i*i) sum1=sum1-i; if(sum1>num) { for(i=2;i<=sqrt(sum1);i++) { if(sum1%i==0) sum2+=i+sum1/i; } if(sum1==i*i) sum2=sum2-i; if(num==sum2) { printf("相亲数对:%d,%d\n",num,sum1); printf("%d的真因子数之和:1",num); for(i=2;i<=num/2;i++) if(num%i==0) printf("+%d",i); if(i>num/2) printf("=%d\n",sum1); printf("%d的真因子数之和:1",sum1); for(i=2;i<=sum1/2;i++) if(sum1%i==0) printf("+%d",i); if(i>sum1/2) printf("=%d\n",num);
}
} } }
return 0;
本文来源:https://www.wddqxz.cn/f27fcfc1e009581b6bd9eb61.html