首页 > 其他分享 >AcWing 725. 完全数

AcWing 725. 完全数

时间:2023-05-02 12:00:27浏览次数:41  
标签:约数 int number 完全 725 include AcWing

AcWing 725. 完全数


1. 地址

    https://www.acwing.com/problem/content/description/727/

2. 题解

#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

// 注意:这道题如果暴力解法一定TLE
// 因此,我们需要对其进行优化
int main(){
    int n;
    scanf("%d",&n);
    while(n--){
        long number;
        scanf("%ld",&number);
        long sum = 0;
        //设i为第一个约数,那么number/i就为另外一个约数(最后一个)
        //因此我们只需要从i<=number/i的范围找约数即可
        //对上面的式子进行简化,可以得到i²<=number
        //进而i<=sqrt(number)
        for(int i=1;i<=sqrt(number);i++){
            //排除掉1,1的约数是1,题目要求排除本身
            if(number == 1){
                break;
            }
            //i是约数
            if(number % i == 0){
                 sum += i;
                //排除掉因数是本身的情况
                if(number / i == number){
                    continue;
                }else if(i == number / i){          //排除掉两个因数相等,从而重复计算的情况
                    continue;
                }else{
                    sum += number / i;
                }
            }
        }
        if(number == sum){
            printf("%ld is perfect\n",number);
        }else{
            printf("%ld is not perfect\n",number);
        }
    }
    return 0;
}

标签:约数,int,number,完全,725,include,AcWing
From: https://www.cnblogs.com/gao79135/p/17367514.html

相关文章

  • AcWing 4086 分糖果
    关于这道题我当时大意了https://www.acwing.com/problem/content/description/4089/关于我的某个变量没有初始化这件事,唯一想法,敲死得了,谁懂?其实就是一道简简单单的数学分析题,和大佬们不一样,萌新只会简简单单的小学数学(本人初二!)分析走起! 一道典型的数学问题() 虽然我WA了,......
  • 万字知识长文:ChatGPT 从零完全上手实操指南
    ChatGPT的横空出世,让很多人焦虑不已,不过,你完全不需要为此焦虑,因为比AI更强大永远是驾驭AI为自己所用的人类。而且 GPT 远没有各大商家炒作的那么玄乎 ,它应用逻辑也非常简单。今天我就用一篇文章带你掌握GPT的用法,本文无废话,全程干货,全部都是实操,纯小白也能看懂。只要......
  • 判断是不是完全数
    importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();while(n-->0){intx=sc.nextInt(),sum=-x;......
  • 10分钟搞定!C++类中构造函数和析构函数的完全指南
    一、初步认识构造函数1.什么是构造函数?要了解构造函数就要先了解一下,类的6个默认成员函数,如下图:构造函数:构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次。通俗一点来......
  • AcWing 656. 钞票和硬币
    AcWing656.钞票和硬币1.地址https://www.acwing.com/problem/content/658/2.解答#include<iostream>#include<cstdio>usingnamespacestd;intmain(){intmoney[6]={100,50,20,10,5,2};doublecoins[6]={1.0,0.50,0.25,0.10,0.05,0.01};......
  • [oeasy]python0144_try的完全体_否则_else_最终_finally
    try的完全体回忆上次内容上次细化了主控程序(main.py)导入(get_fruits.py)处理(process.py)输出(output.py)使用了try结构tryexcept发现异常就报错输入部分的错误应该在输入部分来报具体怎么报呢?......
  • [oeasy]python0144_try的完全体_否则_else_最终_finally
    try的完全体回忆上次内容 上次细化了主控程序(main.py)导入(get_fruits.py)处理(process.py)输出(output.py) 使用了try结构tryexcept发现异常就报错 输入部分的错误应该在输入部分来报 具体怎么报呢?......
  • rust完全限定语法
    <TypeasTrait>::function(receiver_if_method,next_arg,...);上面定义中,第一个参数是方法接收器receiver(三种self),只有方法才拥有,例如关联函数就没有receiver。一般情况下,rust的编译器能够自动推导。只有当存在多个同名函数或方法,且Rust无法区分出你想调用的目标函数时,......
  • 【完全背包的排列问题】NO377. 组合总和 Ⅳ
    [完全背包排列问题]377.组合总和Ⅳ给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。题目数据保证答案符合32位整数范围。示例1:输入:nums=[1,2,3],target=4输出:7解释:所有可能的组合为:(1,......
  • 大数据学习初级入门教程(十六) —— Hadoop 3.x 完全分布式集群的安装、启动和测试
    好久没用Hadoop集群了,参考以前写的《大数据学习初级入门教程(一)——Hadoop2.x完全分布式集群的安装、启动和测试_孟郎郎的博客》和《大数据学习初级入门教程(十二)——Hadoop2.x集群和Zookeeper3.x集群做集成_孟郎郎的博客-》,下载了目前官网最新的版本 hadoop-3.3.5再......