HDU 1406 完数
2015-07-09 00:20
344 查看
完数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22150 Accepted Submission(s): 8094
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
注意:
1:水题
2:num1 与num2 可能是 1 3 或者 3 1 ,小心BUG
#include<stdio.h> #include<string.h> int wanshu (int n) { int i,sum=0; for(i=1; i<=n/2; i++) { if (n%i==0) sum=sum+i; } if(sum==n) return 1; else return 0; } int main (void) { int n,a,b,i,sum,j,hash[10000]; memset(hash,0,sizeof(hash)); for(i=2;i<10000;i++) { if(wanshu(i)==1) { hash[i]=1; } } scanf("%d",&n); while(n--) { scanf("%d%d",&a,&b); if(a>b) { int t; t=a; a=b; b=t; } int sum2=0; for(i=a;i<=b;i++) { if(hash[i]==1) { sum2++; } } printf("%d\n",sum2); } return 0; }
相关文章推荐
- 树莓派双网卡配置
- Jdbcutls介绍
- c++指针经典题目分析
- 2015上半年全国P2P网贷平台“百强榜”
- 关于java创建对象的四种方法
- Collection-List/ArrayList/LinkedList/Vector
- jsp文件包含
- 'NSInteger' (aka 'long') to 'int32
- 理解缓慢变化维(Slowly Changing Dimension)
- 理解缓慢变化维(Slowly Changing Dimension)
- Section 1.2.5 Dual Palindromes 水
- dbcp的简单配置
- 移除apsx视图引擎,及View文件夹下的web.config的作用
- Windows7下搭建Eclipse+Python开发环境
- 约瑟夫环问题
- 关于Blog使用
- 提高日志质量的 5 大技巧
- Kafka 学习笔记(一)
- POJ 1195 Mobile phones(二维树状数组)
- java.util.Date和java.sql.Date