C语言题目,求大神教一下第9题 20
2个回答
展开全部
#include "stdio.h"
int myfun(int m){
int s,t,i;
for(s=0,t=(m>>1),i=2;i<=t;i++)
if(m%i==0)
s+=i;
return s;
}
int main(int argc,char *argv[]){
int n,i,k,f;
printf("Input n(int 3<n<32767)...\nn=");
if(scanf("%d",&n)!=1 || n<4 || n>=32767){
printf("Input error, exit...\n");
return 0;
}
for(f=0,i=3;i<n;i++)
if((k=myfun(i))>i && k<=n && myfun(k)==i)
printf("%2d: %6d <--> %6d\n",++f,i,k);
if(!f)
printf("No...\n");
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询