HDU - 1406 完数(完全数)
来源:互联网 发布:业绩数据分析内容 编辑:程序博客网 时间:2024/04/28 20:38
题目:
完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。
本题的任务是判断两个正整数之间完数的个数。
本题的任务是判断两个正整数之间完数的个数。
22 55 7
01
数学里面,一般都是叫完全数
偶完全数很好求,因为欧拉求出了所有的偶完全数,它们有共同的表达式:
t*(t-1)/2
其中t=2^p,满足p为素数且t-1为素数
这样,我们可以轻松求出,10000以内只有4个完全数:4,28,496,8128
这个时候,再用从num1到num2的循环就不合适了,最好是用常数时间的算法
有个地方需要注意,num1和num2的大小关系未知
代码:
#include<iostream>using namespace std;int main(){int a, b;cin >> a;while (cin >> a >> b)cout << ((a - 6)*(b - 6) <= 0) + ((a - 28)*(b - 28) <= 0) + ((a - 496)*(b - 496) <= 0) + ((a - 8128)*(b - 8128) <= 0) << endl;return 0;}这个代码,自然是0ms AC了
因为写的时候a和b是对称的,所以不需要额外判断a和b的大小
1 0
- HDU - 1406 完数(完全数)
- HDU 1406 (完数)
- HDU 1406 完数
- HDU 1406 完数
- hdu 1406 完数
- HDU 1406 完数
- HDU 1406完数
- HDU 1406 完数
- hdu-1406-完数
- hdu 1406 完数
- HDU 1406 完数
- HDU 1406 完数
- HDU 1406 完数
- HDU 1406 完数
- hdu 1406 完数
- HDU 1406 完数
- HDU 1406 完数
- 019(完全数)
- Unity Shader-法线贴图(Normal)及其原理
- PAT A1009
- Netty系列-使用Google Protobuf编解码
- JS之自定义属性的运用
- static
- HDU - 1406 完数(完全数)
- UML项目练习-仓库管理系统
- matlab神经网络
- 查找OPNET函数,修改OPNET的帮助文档,让它变得更直接更好用
- Unity渲染优化
- PAT A1010
- java设计模式(六)
- TSQL(SQL Server)使用语句双游标循环多表操作
- 最佳裁判