5.3 编写函数,判断一个正整数a是否为完数,如果是完数,函数返回值为1;否则为0

完数是指一个数的所有因子之和等于该数本身,如6=1+2+3;28=1+2+4+7+14.

#include<stdio.h>
int judge(int a);

int main(void)
{
  int a = 0;
  scanf("%d", &a);
  printf("%d", judge(a));

  return 0;
}

int judge(int a)
{
  int sum = 0;
  for (int i = 1; i <= a / 2; i++)
  {
    if (0 == a%i)
      sum += i;
  }

  if (a == sum)
    return 1;
  else
    return 0;
}

这道题可能用到了还没有学到的内容,请大家心明眼亮(`・ω・´)

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒