首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

亲密数有关问题

2013-01-22 
亲密数问题。#include stdio.hint fsum(int a){ int i,sum1for (i2 ia/2 i++)if(a%i0) sum+ir

亲密数问题。
#include <stdio.h>
int fsum(int a)
{ int i,sum=1;
  for (i=2; i<=a/2; i++)
   if(a%i==0) sum+=i;
  return sum;
}
int main()

int fsum(int a);
int a,b,c;
for (a=1;a<=3000;a++)
{b=fsum(a);
c=fsum(b);
if ( a==c && b!=a)
printf("(%d,%d)",a,b);
  }
}


如何让它 相同亲密数显示一对就够了。
[解决办法]
#include <stdio.h>
int fsum(int a)
{ int i,sum=1;
  for (i=2; i<=a/2; i++)
   if(a%i==0) sum+=i;
  return sum;
}
int main()

int fsum(int a);
int a,b,c;
for (a=1;a<=3000;a++)
{b=fsum(a);
c=fsum(b);
//if ( a==c && b!=a)
if ( a==c && b>a)//反正a b不相等,就按照大小顺序输出来呗
printf("(%d,%d)",a,b);
  }
}

热点排行