完美数——C++代码及思路分析 leetcode507
如果用暴力法,for(i=2;i<num;++i>) 可以执行成功但会超出时间限制。
改进方法是缩小循环范围,用i平方<=num代替,可以一次同时找到两个约数,大大减少用时。
以测试用例28为例,第一次循环i=2,2的平方小于4,满足循环条件,28%2=0,故满足第一个if语句,2为28的一个约数,将其累加到sum中,同时进行判断2是不是28平方根,显然不是故执行第二个if语句,找到2对应的28另一个约数为14,并累加至sum。
if(i*i!=num)设置的目的是判断循环的i是不是输入数num的平方根,避免累加重复。比如num=16,i=4,第一个if里累加一次4了,若不设置第二个循环还会再加一次4,这样就出错了,约数是没有重复的。
最后再判断累加完毕的数sum和输入的数num是否相同,即判断是不是完数。
class Solution {public:
bool checkPerfectNumber(int num) {if(num<=1){return false;
}
int sum=1;
for(int i=2;ii<=num;++i){if(num%i==0){sum+=i;
if(ii!=num){sum+=num/i;
}
}
}
if(sum==num){return true;
}
return false;
}};
完美数——C++代码及思路分析 leetcode507相关推荐
- 卡特兰数 卡塔兰数 概念 代码实现 模型分析全集
特别鸣谢 参考1 参考2 参考3 概念 情境导入 一个栈(无穷大)的进栈序列为1,2,3,-,n,有多少个不同的出栈序列? 可以形象化地转化为括号问题,更好理解,进栈是(,出栈是),下面为n=3的全部 ...
- 第一届华数杯A题思路分析
** 华数杯a题浅见 需要本文的话请加2574364134 ** 当我刚拿到这个题目的时候,惊呆了,这个不就是2018年国赛的A题吗?2018年的国赛A题是为了进行高温防护,这道题现在就是低温防护服御 ...
- 7-3 接话茬 (100分)(简洁易懂的代码含思路分析)
7-3 接话茬 (100分) 小CC最喜欢的就是接话茬,别人说一句,小CC就会接着他的话尾巴继续说下去,然后告诉他这是"顶针"修辞手法,活活将人气死.小XX也喜欢接话茬,每天都要与 ...
- 猜数字游戏代码+设计思路分析
#define _CRT_SECURE_NO_WARNINGS 1 # include<stdio.h> #include<Windows.h> #include<tim ...
- 质数表因式分解 c语言,素数表+因式分解+完美数
1 素数 素数即质数,指在大于1的自然数中,除了1和此整数自身外无法被其它自然数整除的数. 1.1 试除法 该方法用于验证一个数是否为素数.例求x是否为素数,只需要验证1到中是否存在一个数位x的约数, ...
- 2022华数杯B题论文思路分析+完整代码(水下机器人组装计划)(一二问答案接出来和标准答案一样)(问题三四逼近正确答案)(完整论文,代码可直接跑)
写在前面:学校最近搞数学建模竞赛培训,以2022华数杯B题作为训练题目,在查资料过程中发现网上没有哪一篇论文解出了正确答案,而我们组利用Lingo软件准确的解出了正确答案,但是在第三问时,由于决策的变 ...
- 清华计算几何大作业思路分析和代码实现
清华计算几何大作业思路分析和代码实现 1. 计算几何之缘 2. 前置知识 3. 作业列表 4. 作业难度分析和选取建议 4.1 初阶(新手村之旅) 4.2 高阶(大师剑之旅) 4.3 终阶(折磨之旅) ...
- leetcode507. 完美数
题目描述 解题思路 执行结果 leetcode . 题目描述 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」. 给定一个 整数 n, 如果是完美数,返回 tr ...
- PTA 电话聊天狂人 思路分析及代码解析
PTA 电话聊天狂人 思路分析及代码解析v1.0 一.前导 1. 需要掌握的知识 2. 题目信息 二.解题思路分析 1. 题意理解 1. 1 输入数据 1.2 输出数据 2. 思路分析 三.具体实现 ...
- PTA 统计工龄 思路分析及代码解析
PTA 统计工龄 思路分析及代码解析v0.6 一.前导 1. 需要掌握的知识 2. 题目信息 二.解题思路分析 1. 题意理解 1. 1 输入数据 1.2 输出数据 2. 思路分析 三.具体实现 1. ...
最新文章
- pthred()多线程计算派
- MQTT 5.0 新特性(三)| 有效载荷标识与内容类型
- Delphi中拖动无边框窗口的5种方法
- 用两个文件a.txt;b.txt.使用linux命令,复制,a.txt文档倒数第十行的记录to b.txt文档
- Activity加载View调用顺序
- [蓝桥杯2015初赛]手链样式-思维+next_permutation枚举(好题)
- C#面试题 之 判断质数
- 微信朋友圈删除后可重新编辑了 网友:这有啥用
- SpringBoot 工程目录 整合mybatis-neo4j(注解类型)
- HDU 3651 A Simple Problem
- Eclipse Code Template 设置自动加注释
- 自适应漫画手机APP应用下载页源码
- C++模板技术实现 泛型编程,通俗易懂的泛型编程教程//。
- policy服务器未能登陆,开机出现Group Policy Client服务未能登录的解决措施
- Qt High DPI解决方案
- 学生评教系统--教师评教
- ospfdr选举规则_OSPF的DR选举
- vue 手写图片左右跑马灯 效果
- i58400升级可以换什么cpu_宝贝标题关键词顺序可以换吗?关键词顺序对标题有什么影响?...
- [Vue warn]: Property or method “throttle“ is not defined on the instance but referenced during rende
热门文章
- c语言开发宏程序,一文搞懂宏程序的编程基础,快速入门秘笈
- HDU 2036 (平面几何 多边形面积)
- Python.习题六 字典与集合(下)
- 【无标题】报班第一节课
- 一行代码安装ROS/ROS2、解决rosdep问题、配置好环境
- 路飞学城python电子书闲鱼_路飞学城-python开发集训-第一章之用户登陆做业
- 路飞学城Python-Day23
- 【测试】使用xtts V4迁移数据
- 【Oracle SQL】计算同比与环比(列转行进行偏移)
- mysql frm myd myi 恢复_通过*.frm,*.myd,*.myi文件恢复mysql数据库