zoukankan      html  css  js  c++  java
  • 完数

    方法一

     #include"stdio.h"
    #include"math.h"
    void sortPosition(int a[],int n);
    void main()
    {
    int i,j,s,n;
    int a[1000];
    int count=0;

    printf("1000以内的完数 ");

    for(i=1;i<=1000;i++)
    {
    s=1;
    a[0]=1;
    n=1;
    for(j=2;j<sqrt(i);j++)
    {
    if(i%j == 0)
    {
    s += j+i/j;
    //s+=i/j;
    a[n]=j;
    a[++n]=i/j;
    n++;
    }

    }
    sortPosition(a,n);
    if(s==i && s!=1)
    {
    printf("%d 完数是",i);
    count++;

                for(j=0; j<n; j++)
    {
    printf("%d ",a[j]);
    }  
                  printf(" ");

    }
    }
    printf(" 1000以内的完数有%d个 ",count);
    }
    void sortPosition(int a[],int n)
    {
    int i,j,temp;
    for(i=0;i<=n-1;i++)
    {
    for(j=i+1;j<=n-1;j++)
    {
    if(a[j]<a[i])
    {
    temp=a[j];
    a[j]=a[i];
    a[i]=temp;
    }

    }
    }

    方法二

    #include<stdio.h>
    void main()
    {
    int i,j,s,n;
    int a[1000];
    int count=0;

    printf("1000以内的完数 ");

    for(i=2;i<=1000;i++)
    {
    s=0;
    n=0;
    for(j=1;j<i;j++)
    {
    if(i%j == 0)
    {
    s += j;
    a[n++]=j;
    }

    }
    if(s == i)
    {
    printf("%d ",s);
    count++;

    //printf("%d 完数是 ",n);
    for(j=0; j<n; j++)
    printf("%d ",a[j]);
    printf(" ");

    }
    }
    printf(" 1000以内的完数有%d个 ",count);
    return 0;
    }

  • 相关阅读:
    2014华为员工年终奖及年薪盘点
    Gradle命令行黑魔法
    委托的那些事
    动态代理
    音乐播放
    Eclipse plugin web site 发布和版本更新
    JavaScript—之对象参数的引用传递
    Bootstrap 3 How-To #1 下载与配置
    代码审计和漏洞挖掘的思路
    核心C#
  • 原文地址:https://www.cnblogs.com/hongou/p/10825910.html
Copyright © 2011-2022 走看看