Hdoj 1406 完数
来源:互联网 发布:科大讯飞 阿里云 编辑:程序博客网 时间:2024/06/01 07:47
Problem Description
完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。
本题的任务是判断两个正整数之间完数的个数。
Input
输入数据包含多行,第一行是一个正整数n,表示测试实例的个数,然后就是n个测试实例,每个实例占一行,由两个正整数num1和num2组成,(1< num1,num2<10000) 。
Output
对于每组测试数据,请输出num1和num2之间(包括num1和num2)存在的完数个数。
Sample Input
2
2 5
5 7
Sample Output
0
1
Author
lcy
Source
杭电ACM集训队训练赛(IV)
题目分析
这题本身没什么难度,注意num1和num2的大小关系不明确,要加个判断
Code
#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cctype> #include<cstring>#include<cstdlib>using namespace std;bool q[10001]; int count(int x){ int ans=0; for(int i=1;i<=x/2;i++) { if(x%i==0) ans+=i; } return ans;} //计算因数和int main() { int t; cin>>t; memset(q,0,sizeof(q)); for(int i=1;i<=10000;i++) { if(count(i)==i) q[i]=true; //true则表示是个完数 } int a,b; while(t--) { cin>>a>>b; if(a>b) swap(a,b); int cnt=0; for(int i=a;i<=b;i++) { if(q[i]==true) cnt++; } cout<<cnt<<endl; } return 0;}
更多问题请关注个人博客,不定时更新
阅读全文
0 0
- hdoj 1406 完数
- hdoj 1406 完数
- HDOJ 1406 完数
- HDOJ 1406 完数
- Hdoj 1406 完数
- hdoj.1406 完数 20140825
- HDOJ(HDU) 1406 完数
- HDOJ 1406 完数
- HDOJ 1406 完数(打表,附讨论区出现的史上最牛逼打表,0ms)
- hdoj 2084(数塔)
- HDOJ 2084 数塔
- hdoj 2084 数塔
- hdoj 2072 单词数
- HDOJ 2084 数塔
- HDOJ 1261 字串数
- HDOJ 2010 水仙花数
- hdoj 2072 单词数
- HDOJ 2084 数塔
- java无法加载主类问题解决
- java json使用
- NEUQOJ:1061
- ImportError: No module named scipy.sparse
- SharedPreferences首页面存储登录名数据任意页面读取数据显示(存取数据)
- Hdoj 1406 完数
- ISE中ChipScope软件使用
- 阿里腾讯“互撕”升级,双方都豁出去了
- 伪知识之通俗易懂得分析SVM中的支持分类的专有名词持续更新:【内向即失败--王奕君】
- 赚钱不是商业模式,看投资人如何解读商业模式
- fabric 1.0开发环境配置
- Zookeeper应用场景
- 10分钟自制胡同儿老味道,堪比米其林丨空姐亲测
- 摩拜回应押金退款延迟;南宁网约电动车被叫停;高通拒绝任命博通提名的董事候选人丨价值早报