灵笼


私信TA

用户名:dotcpp0679722

访问量:67

签 名:

等  级
排  名 8716
经  验 1152
参赛次数 2
文章发表 2
年  龄 0
在职情况 学生
学  校 灯塔
专  业

  自我简介:

TA的其他文章

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	for (int i = 6; i <= n; i++)//遍历6-n的所有情况,因为题意最小的可能为6,可直接省略1-5
	{
		int sum = 0;//用来求所有因子之和
		for (int j = 1; j < i; j++)//用for循环遍历,求出所有的因子
		{
			if (i % j == 0)//判断是否为因子,如果是,累加
			{
				sum += j;
			}
		}
		if (sum == i)
		{
			printf("%d its factors are ", i);
			for (int k = 1; k < i; k++)//与上一循环相似,上一个j循环求因子和,该循环判断出因子直接输出
			{
				if (i % k == 0)
					cout << k << ' ';
			}
			cout << endl;
		}
	}
	return 0;
}

解题思路:

注意事项:许多花括号都可以去掉

参考代码:

 

0.0分

1 人评分

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

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区