完数

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Problem Description

完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。

本题的任务是判断两个正整数之间完数的个数。

Input

输入数据包含多行,第一行是一个正整数n,表示测试实例的个数,然后就是n个测试实例,每个实例占一行,由两个正整数num1和num2组成,(1

Output

对于每组测试数据,请输出num1和num2之间(包括num1和num2)存在的完数个数。

Sample Input

2

2 5

5 7

Sample Output

0

1


解题心得:

  1. 没什么技巧直接暴力就可以了,其实这个题也就四个完数(6、28、496、8128),实在不行打个表特判都可以。但是出题人有个无聊的坑,a不一定比b更小,所以要判断一下。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn = 1e4+10;
  4. bool num[maxn];
  5. //先暴力的预处理一下就可以了
  6. void pre_check()
  7. {
  8. for(int i=1; i<maxn; i++)
  9. {
  10. int sum = 0;
  11. for(int j=1; j<i; j++)
  12. {
  13. if(i % j == 0)
  14. sum += j;
  15. }
  16. if(sum == i)
  17. num[i] = true;
  18. }
  19. }
  20. int main()
  21. {
  22. pre_check();
  23. int n;
  24. scanf("%d",&n);
  25. while(n--)
  26. {
  27. int ans = 0;
  28. int a,b;
  29. scanf("%d%d",&a,&b);
  30. if(a > b)//当a比不b大的时候直接交换一下就可以了
  31. swap(a,b);
  32. for(int i=a;i<=b;i++)
  33. if(num[i])
  34. ans++;
  35. printf("%d\n",ans);
  36. }
  37. }

数学基础:HUD1406-完数的更多相关文章

  1. java程序设计之完数

    题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数. 解题过程也很简单: public class wanshu { ...

  2. 程序设计入门——C语言 第6周编程练习 2 完数(5分)

    2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序, ...

  3. OpenMP求完数

    源代码: #include "stdafx.h" //必须写在首行,因为其前面的include都会被忽略 #include "omp.h" #include & ...

  4. 完数[HDU1406]

    完数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  5. 码农谷 找出N之内的所有完数

    题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数, ...

  6. nyist 597 完数?

    http://acm.nyist.net/JudgeOnline/problem.php?pid=597 完数? 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 一个 ...

  7. 帮初学者改代码——playerc之“练习:求完数问题”(下)

    前文链接:帮初学者改代码——playerc之“练习:求完数问题”(上) 再来看看be_ferfect()应该如何改. be_ferfect()函数的功能是判断number是否为完数,同时把因子对写入d ...

  8. 帮初学者改代码——playerc之“练习:求完数问题”(上)

    原文:“练习:求完数问题” 原代码: // #include <stdio.h> #include <stdlib.h> #include <math.h> #de ...

  9. C++列出完数

    题目内容:自然数中,完数寥若晨星,请在从1到某个整数范围中打印出所有的完数来.所谓“完数”是指一个数恰好等于它的所有不同因子之和.例如,6是完数,因为6=1+2+3.而24不是完数,因为24≠1+2+ ...

  10. openmp 并行求完数

    // GetWanShu.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include "omp.h" #inclu ...

随机推荐

  1. Win10+VirtualBox+Openstack Mitaka

    首先VirtualBox安装的话,没有什么可演示的,去官网(https://www.virtualbox.org/wiki/Downloads)下载,或者可以去(https://www.virtual ...

  2. Linux用脚本守护进程

    while true; do server=`ps -aux | grep tomcat | grep -v grep` if [ ! "$server" ]; then echo ...

  3. ThreadLocal源码解析,内存泄露以及传递性

    我想ThreadLocal这东西,大家或多或少都了解过一点,我在接触ThreadLocal的时候,觉得这东西很神奇,在网上看了很多博客,也看了一些书,总觉得有一个坎跨不过去,所以对ThreadLoca ...

  4. es6+字符串string的新增方法函数

    String.includes("xxx")   返回true/false     [es5的字符串查找方法:String.indexOf() ] String.startsWit ...

  5. jquery中使用each遍历。

    一直知道each这个方法,但是就是不太明白到底怎么用,今天两个地方都使用了each.真的太高兴了,太有成就感了. 东钿微信平台订单列表页 全部订单之前是按照产调,评估,借款的顺序依次排下来,华总说要按 ...

  6. JavaScprit30-6 学习笔记

    今天学习的是  仿即时搜索诗句效果 第一个问题: fetch() Fetch API  提供了一个 JavaScript接口,用于访问和操纵HTTP管道的部分,例如请求和响应.它还提供了一个全局 fe ...

  7. TCP/IP协议分析含义与功能

    TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即网络接口层.IP层.传输层和应用层.TCP/IP是一组专业化协议,包括IP.TCP.UDP.ARP.ICMP以及其它的一些被称为子协 ...

  8. SharePoint Server和Office 365之间的混合模式集成概述

    正如您可能已经知道的那样,云中的Microsoft Office 365和SharePoint Server 2013/2016内部部署可以通过多种方式协同工作.这些通常被称为混合模式,因为它们将功能 ...

  9. [LR]遇到的坑及常用技巧

    解决问题是需要智慧的 1.LR内部问题可以查看帮助文档 一般位于LR安装目录的bin目录下,如下图 打开Troubleshooting.chm文件,比如我们跑场景的过程中报错,报错信息为:-27995 ...

  10. XML(可拓展标记语言)

      XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词.短语或块成为 ...