C语言入门-第六周:作业02

2完数(5分)

题目内容:
一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。

现在,你要写一个程序,读入两个正整数n和m n>=1,m>n,m<1000,输出[n,m]范围内所有的完数。

提示:可以写一个函数来判断某个数是否是完数。

输入格式:
两个正整数,以空格分隔。

输出格式:
其间所有的完数,以空格分隔,最后一个数字后面没有空格。如果没有,则输出一行文字:
NIL
(输出NIL三个大写字母加回车)。

输入样例:
1 10

输出样例:
6
时间限制:500ms内存限制:32000kb

#include<stdio.h>
#include<Windows.h>

int isWanShu(int Zhengzhu);

int main() {
    int n = 0;
    int m = 0;
    scanf_s("%d %d", &n,&m);

    for (int i = n; i <= m; i++) {
        if (isWanShu(i)) {
            printf("%d ", i);
        }
    }

    printf("\b\nNIL\n"); //  \b回退一格

    system("pause");
    return 0;
}

int isWanShu(int Zhengzhu) {
    int ret = 0;
    int sum = 0;
    for (int i = 1; i < Zhengzhu; i++) {
        if (Zhengzhu %i == 0) {
            //printf("i = %d\n", i);
            sum += i;
        }
    }
    if (Zhengzhu == sum) {
        //printf("%d是完数\n", Zhengzhu);
        ret = 1;
    }
    return ret;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxx0136/article/details/52351514
文章标签: c语言
个人分类: C语言
上一篇C语言入门-第六周:作业01
下一篇C语言入门-第七周:作业01
想对作者说点什么? 我来说一句

2008061023_CC_第六周作业

2011年04月04日 168KB 下载

没有更多推荐了,返回首页

关闭
关闭