sadliu


私信TA

用户名:dotcpp0628815

访问量:338

签 名:

清醒 自律 知进退 明得失

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

  自我简介:

舞台再大,你不上台,永远是个观众;平台再好,你不参与,永远是个局外人。能力再大,你不行动,只能看着别人成功!

题目描述:

一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子


输入格式:

N


输出格式:

? its factors are ? ? ?


样例输入:

1000


样例输出:

6 its factors are 1 2 3 

28 its factors are 1 2 4 7 14 

496 its factors are 1 2 4 8 16 31 62 124 248 

#include <stdio.h>

int main()
{
	int n, i, j, k, l, a[100];//用数组去存储每个完数的因子便于后续输出 
	int temp;
	scanf("%d", &n);
	for(i = 1; i <= n; i++)
	{
		temp = 0, k = 0;//每次循环重置因子和 
		for(j = 1; j < i; j++)
		{
			if(i%j == 0)
			{
				temp += j;//求出因子和
				a[k++] = j;//用数组记录下这个因子 
			}
		}
		if(temp == i)//如果这个temp等于i就输出这个完数 
		{
			printf("%d its factors are ", i);
			for(l = 0; l < k; l++)
			{
				printf("%d ", a[l]);
			}
			printf("\n");
		}
	}
	return 0;
}


 

0.0分

0 人评分

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

编程语言转换

万能编程问答

代码解释器

  评论区