哎,时间超限 #include <stdio.h> int main() { int i; int k; int m,n; int r; int a,b; int c[200]={0},d[200]={0}; for( m=220;m<3000;m++ ){ a=0; for( i=1;i<m;i++ ){ if( m%i==0 ){ a +=i; } } for( n=m+1;n<m+305;n++ ){ b=0; for( k=1;k<n;k++ ){ if( n%k==0){ b +=k; } } if( (a==n)&&(b==m) ){ printf("(%d,%d)",m,n); break; } } } return 0; }
这个总是输出空白,但是我把a分别赋值就可以输出那一组亲密数了,很奇怪 #include<stdio.h> int main() { int a,b=0,i,j=0,s=0; for(a=1; a<3001; a++) { for(i=1; i<a; i++) { if(a%i==0) { b=b+i; } } for(i=1; i<b; i++) { if(b%i==0) { s=s+i; } } if(a==s) { printf("(%d,%d)",a,b); } } return 0; }
煮酒老麦 2020-02-19 19:44:16 |
这个答案我还没有防止重复,以及先小后大
1120170746 2020-10-03 14:59:59 |
除了第一次,每做一次循环,b和s的值不是从零开始的,需要在循环里加上b=0,s=0,让其从零开始计算
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
用筛法求之N内的素数。 (C语言代码)浏览:685 |
【矩阵】 (C++代码)浏览:999 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:350 |
用筛法求之N内的素数。 (C语言代码)浏览:711 |
剪刀石头布 (C++代码)浏览:1811 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:567 |
数列有序 (C语言代码)浏览:974 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1361 |
渐入佳境. 2021-03-22 09:53:55 |
同问
大杯牛奶 2022-03-23 14:37:44 |
个人理解,拿(220,284)来说,如果不加A=B,则A会从221继续开始算,所以到284会重复;加了A=B,则A会从285开始算,避免重复,如果不对,欢迎指正。