码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-31 20:41:22      阅读:424      评论:0      收藏:0      [点我收藏+]

标签:org   frame   data-   std   span   color   ==   输出   +=   

【题目描述】

求正整数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\n",i);
16     }
17     return 0;
18 }

一道很水的函数题,

没啥可说的,

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

是,就输出,

水完了qwq(溜了溜了)

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

标签:org   frame   data-   std   span   color   ==   输出   +=   

原文地址:https://www.cnblogs.com/sxy2004/p/12246430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!