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

Posted sxy2004

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求正整数2和n之间的完全数相关的知识,希望对你有一定的参考价值。

【题目描述】

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

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

【输入】

输入n(n5000)n(n≤5000)。

【输出】

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

【输入样例】

7

【输出样例】

6
 1 #include<cstdio>
 2 #include<cmath>
 3 int n;
 4 bool perfect(int a){
 5     int sum=1;
 6     for(int i=2;i<=sqrt(a);i++){
 7         if(a%i==0) sum+=i+a/i;
 8     }
 9     if(a==sum) return true;
10     else return false;
11 }
12 int main(){
13     scanf("%d",&n);
14     for(int i=2;i<=n;i++){
15         if(perfect(i)) printf("%d
",i);
16     }
17     return 0;
18 }

一道很水的函数题,

没啥可说的,

就是用一个函数判断是否为完全数;

是,就输出,

水完了qwq(溜了溜了)

以上是关于求正整数2和n之间的完全数的主要内容,如果未能解决你的问题,请参考以下文章

求完全数的python语句

用c语言怎样编写n个数以内的完全数的程序

C++程序中,如何运用数组知识求1000以内的完全数

编程求10000以内所有的完全数 matlab

java例题_09 1000以内的完全数

Python:完全数