第39讲-项目一-完数

来源:互联网 发布:js 日期format 编辑:程序博客网 时间:2024/05/20 12:46

任务和代码1

/**Copyright (c)2015,CSDN学院*All rights reserved.*文件名称:main.c*作    者:胡先军*完成日期:2015年5月23日*版 本 号:v1.0**问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”。*输入一个数n,判断n是否是完数*程序输出:判定结果*/#include <stdio.h>int main(){    int i,number,a,sum=1;    printf("输入一个数:");    scanf("%d",&number);    for(i=2;i<number;i++)    {        if(number%i==0)        {            a=number/i;//a是因子            sum+=a;        }    }    if(sum==number)        printf("%d是完数。",number);    else        printf("%d不是完数。",number);    return 0;}

运行结果


任务和代码2

/**Copyright (c)2015,CSDN学院*All rights reserved.*文件名称:main.c*作    者:胡先军*完成日期:2015年5月23日*版 本 号:v1.0**问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”。*输出1000以内的所有完数*程序输出:所有完数*/#include <stdio.h>int main(){    int i,number=1,a,n=0;    printf("1000以内完数:");    while(number<1000)        {            int sum=1;    for(i=2;i<number;i++)    {        if(number%i==0)        {            a=number/i;//a是因子            sum+=a;        }    }    if(sum==number)    {        printf("%d ",number);        n++;        if(n%5==0)        printf("\n");    }    number=number+1;        }    return 0;}

运行结果



任务和代码3

/**Copyright (c)2015,CSDN学院*All rights reserved.*文件名称:main.c*作    者:胡先军*完成日期:2015年5月23日*版 本 号:v1.0**问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”。*亲密数:如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整*数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲*密数。求3000以内的全部亲密数。*程序输出:所有完数*/#include <stdio.h>int main(){    int i,j,number=2;    while(number<3000){    int sum=1,sum1=1,a,b;    for(i=2;i<number;i++)    {        if(number%i==0)        {            a=number/i;            sum+=a;        }    }    for(j=2;j<sum;j++)    {        if(sum%j==0)        {            b=sum/j;            sum1+=b;        }    }    if(sum1==number)    {        printf("%d和%d是亲密数\n",number,sum);    }        number+=1;    }    return 0;}

运行结果



心得

多亏了单步调试!!!!

0 0
原创粉丝点击