zoukankan      html  css  js  c++  java
  • 题解报告:hdu 1406 完数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1406

    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

    水题!!!(注意给定区间i,j的大小,如果i>j要交换两个值保证符合区间的定义)

    AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n,n1,n2,num,sum;
     6     cin>>n;
     7     while(n--){
     8         cin>>n1>>n2;
     9         if(n1>n2)swap(n1,n2);
    10         num=0;
    11         for(int i=n1;i<=n2;i++){
    12             sum=0;
    13             for(int j=1;j<=i/2;j++){
    14                 if(i%j==0)sum+=j;
    15             }
    16             if(sum==i)num++;
    17         }
    18         cout<<num<<endl;
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    .NET CORE 部署3
    Filezilla
    Java 项目转换为maven项目教程
    Andriod studio 汉化教程
    tarjan好题
    关于二分的边界
    2019-10-11
    诗人小G(1D1D动态规划)
    斜率优化dp(玩具装箱)
    扩展欧几里得定律
  • 原文地址:https://www.cnblogs.com/acgoto/p/8489521.html
Copyright © 2011-2022 走看看