21xrx.com
2025-03-23 09:06:03 Sunday
文章检索 我的文章 写文章
【题目】C语言判断一个数是否恰好等于它的因子之和
2023-06-18 18:46:43 深夜i     18     0
C语言 完数 因子 for循环 if语句

我们经常听到或者自己也会遇到这样一种问题:找出某个数的因子,然后把它的所有因子加起来,看最后得到的和是否恰好等于这个数本身。如果相等,我们会说这个数是“完数”。那么,如何用C语言来判断一个数是否是完数呢?

其实这个问题并不难,我们可以先写一个for循环,把所有的因子加起来,最后判断它们的和是否和这个数相等即可。下面是代码实现:

#include 
int main()
{
  int n, sum = 0;
  printf("请输入一个整数:");
  scanf("%d", &n);
  for (int i = 1; i < n; i++) // 循环找出所有的因子
  {
    if (n % i == 0)
    {
      sum += i; // 把因子加起来
    }
  }
  if (sum == n)
  {
    printf("%d是完数。\n", n);
  }
  else
  {
    printf("%d不是完数。\n", n);
  }
  return 0;
}

  
  

评论区

请求出错了