求正整数2和n之间的完全数
Posted sxy2004
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求正整数2和n之间的完全数相关的知识,希望对你有一定的参考价值。
【题目描述】
求正整数22和nn之间的完全数(一行一个数)。
完全数:因子之和等于它本身的自然数,如6=1+2+36=1+2+3
【输入】
输入n(n≤5000)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之间的完全数的主要内容,如果未能解决你的问题,请参考以下文章