zoukankan      html  css  js  c++  java
  • 求正整数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(溜了溜了)

  • 相关阅读:
    猜数字游戏
    发红包程序
    实现微信摇一摇部分功能
    计算1+1/2+1/3+....+1/100的值
    约瑟夫问题
    简易计时器
    简易学生管理系统
    文件加密解密
    分鱼问题
    分橘子问题
  • 原文地址:https://www.cnblogs.com/sxy2004/p/12246430.html
Copyright © 2011-2022 走看看