科比你来


私信TA

用户名:1352847107

访问量:14475

签 名:

1352847107

等  级
排  名 1340
经  验 2869
参赛次数 0
文章发表 44
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

/*三层循环:一层是筛选N以内所有的数,另一层是筛选N以内所有数的因子,最后一层是为了输出因子*/
注意事项:

千万注意sum判断完之后一定要重新初始化,因为如果不重新初始化那么sum就保留了上一次判断的i的值

参考代码:

/*一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,

因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子*/

#include<stdio.h>

/*三层循环:一层是筛选N以内所有的数,另一层是筛选N以内所有数的因子,最后一层是为了输出因子*/

int main()

{

    int i, j, k = 0, N, sum = 0;


    scanf("%d", &N);


    for(i=1; i<=N; i++)

    {

        for(j=1; j<=i; j++)

        {

            if(i%j == 0 && i != j)

            {

                sum += j;

            }

        }

        if(sum == i)

        {

            printf("%d its factors are ", i);

            for(j=1; j<=i; j++)

            {

                if(i%j == 0 && i != j)

                printf("%d ", j);

            }

            printf("\n");

        }

        sum = 0;

    }

    return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区