c语言的题 还望大神帮忙解答一下 谢谢!

 我来答
zy1404
2014-11-04 · TA获得超过1387个赞
知道小有建树答主
回答量:784
采纳率:100%
帮助的人:463万
展开全部
File Edit Options Buffers Tools C++ Help                                                                                                                                           
#include<stdio.h>
void WanShu(int x)
{
  int i=0,sum=0,a[50],j=0;
  for(i=1;i<x;i++)
    {
      if(x%i==0)
        {
          sum+=i;
          a[j++]=i;
        }
    }
  if(x==sum)
    {
      printf("%d its factors are:",x);
      for(i=0;i<j;i++)
        printf("%d\t",a[i]);
      printf("\n");
    }

}
int main()
{
  int i,n;
  scanf("%d",&n);
  for(i=1;i<n;i++)
    WanShu(i);
  return 0;
}
太空来客000
2014-11-04 · 超过23用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:46.7万
展开全部
有一种最简单的方法,就是暴力搜索,过程如下:
从1一直搜索到给定的数字N,对每一个数字K,根据以下规则判定K是不是完数。
step 1: 从1一直遍历到K/2,找到所有的属于K的因子并记录下来
step 2: 把所有的因子加起来,看和是不是等K,是的话就是完数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式