长沙尚学堂|十年树人|成就高薪
致力推动IT教育,我们正在行动    咨询热线:0731-83072091

C语言编程求3000以内的全部亲密数

时间:2018-03-22 10:17:13   来源:网络转载   阅读:
  什么是亲密数呢,亲密数就是如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。而因子就是约数,简单来说就是【A数的因子和】=【数B】而【B数的因子和】=【数A】,这两个数就是亲密数。

  题目:求3000以内的全部亲密数。

  程序源代码:

  #include

  int main()

  {

  int a, i, b, n;

  printf("There are following friendly--numbers pair smaller than 3000:\n");

  for( a=1; a<3000; a++ ) /*穷举3000以内的全部整数*/

  {

  for( b=0, i=1; i<=a/2; i++) /*计算数a的各因子,各因子之和存放于b*/

  if(!(a%i))

  b+=i;

  for( n=0, i=1; i<=b/2; i++ ) /*计算b的各因子,各因子之和存于n*/

  if(!(b%i))

  n+=i;

  if(n==a && a

  printf("%4d--%4d ", a, b); /*若n=a,则a和b是一对亲密数,输出*/

  }

  return 0;

  }

标签:C语言
分享:0
开班计划

试听申请表

全程面授,不高薪都难

报名成功后,尚学堂工作人员将在24小时内与您联系

热门文章
视频下载
猜你喜欢