hdu1406 完数 (水题)

简介: hdu1406 完数 (水题)

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)

 

代码如下:

#include<stdio.h>
#include<math.h>
int main()
{
    int n,t;
    scanf("%d",&n);
    while(n--)
    {
        int num1,num2,i,j,sum,k,count=0;
        scanf("%d %d",&num1,&num2);
        if(num1>num2)
        {
        t=num1;
        num1=num2;
        num2=t;            
        }
        for(i=num1;i<=num2;i++)
        {
            sum=0;
            for(j=2;j<=sqrt(i);j++)
            {
                if(i%j==0) sum+=j+i/j;
            }
            if(sum+1==i) count++;
        }
        printf("%d\n",count);
     } 
    return 0;
}
目录
相关文章
|
7月前
|
Java
hdu 1427 速算24点【暴力枚举】
hdu 1427 速算24点【暴力枚举】
70 0
|
2月前
lanqiao OJ 689 四阶幻方
lanqiao OJ 689 四阶幻方
32 0
|
2月前
lanqiao OJ 364 跳石头
lanqiao OJ 364 跳石头
36 6
|
2月前
lanqiao OJ 649 算式900
lanqiao OJ 649 算式900
19 1
|
2月前
|
算法
lanqiao OJ 1366 spfa最短路
lanqiao OJ 1366 spfa最短路
26 0
|
2月前
lanqiao oj 186 糖果(状态压缩dp)
lanqiao oj 186 糖果(状态压缩dp)
19 0
|
2月前
lanqiao OJ 102 青蛙跳杯子
lanqiao OJ 102 青蛙跳杯子
29 0
HDU-1058,Humble Numbers(丑数打表)
HDU-1058,Humble Numbers(丑数打表)
|
C++ 人工智能 BI
HDU2032杨辉三角
有点强迫症,主函数必须简洁,但是这里的if判断语句很碍眼,自己也并没有想到什么不画蛇添足的方法使代码更加简洁......
1510 0