测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A24191. 求正整数2和n之间的完全数

填空题 中等

题目描述

求正整数2和n之间的完全数

题目描述

求正整数2和n之间的完全数(一行一个数)。

完全数:因子之和等于它本身的自然数,如6=1+2+3

输入

输入n(n≤5000)。

输出

一行一个数,按由小到大的顺序。

输入样例

7

输出样例

6

参考答案

#include<bits/stdc++.h> using namespace std; //求数字n的因子之和 本题的因子不包括n本身。 int sumOfFactor(int n) { int s = 0;//加和 for(int i = 1; i < n; ++i)//注意:n的因子不包括n if(n % i == 0)//如果i是n的因子 s += i; return s; } int main() { int n; cin >> n; for(int i = 2; i <= n; ++i) if(sumOfFactor(i) == i) cout << i << endl; return 0; }
上一题 下一题