21xrx.com
2024-12-27 19:29:28 Friday
登录
文章检索 我的文章 写文章
C++程序实现1000以内亲密数的求解
2023-07-02 11:57:59 深夜i     --     --
C++ 程序实现 亲密数 求解 1000以内

亲密数是指两个正整数中,除了自身外的因子之和相等的数对,例如(220, 284)就是一对亲密数。

我们可以使用C++程序求出1000以内的所有亲密数。

首先,我们需要判断一个数是否是亲密数。可以通过以下代码实现:

bool isAmicable(int x)

{

  int sum1 = 0, sum2 = 0;

  for(int i=1;i

  {

    if(x%i == 0)

      sum1 += i;

  }

  for(int i=1;i

  {

    if(sum1%i == 0)

      sum2 += i;

  }

  if(sum2 == x && x != sum1)

    return true;

  else

    return false;

}

上面的代码中,我们首先计算出x的因子之和sum1,然后再计算出sum1的因子之和sum2,如果sum2等于x且x不等于sum1,则x和sum1是一对亲密数,返回true,否则返回false。

接下来,我们可以使用以下代码求解1000以内的所有亲密数:

int main()

{

  for(int i=1;i<=1000;i++)

  {

    if(isAmicable(i))

      cout<<<" 和 "< <<" 是一对亲密数"<

  }

  return 0;

}

上面的代码中,我们遍历1000以内的所有整数,如果某个数是亲密数,则打印出这对亲密数。

使用以上代码就可以在C++中实现1000以内亲密数的求解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复