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;
    }

  • 相关阅读:
    jsp.图书馆
    jsp第七次作业
    jsp第六次作业
    jsp第四次作业
    JSP第二次作业
    软件测试课堂练习
    Android第六次作业
    Android第五次作业
    Android第四次作业
    Android第三次作业
  • 原文地址:https://www.cnblogs.com/hongou/p/10825910.html
Copyright © 2011-2022 走看看