完数

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27275 Accepted Submission(s): 10213

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

把10000以内的完数全算出来,不用一个一个算,像打质数表那样用筛法就行。还有就是,输入的a可能会大于b。

#include <stdio.h>
#include <string.h>
int f[30000], s[30000];
int main() {memset(f, 0, sizeof(f));for(int i = 1; i <= 10000; i++) {for(int j = i + i; j <= 10000; j += i) {f[j] += i;}}s[0] = 0;s[1] = 1;for(int i = 2; i <= 10000; i++) {if(f[i] == i) {s[i] = s[i - 1] + 1;} else {s[i] = s[i - 1];}}int t, a, b, x;scanf("%d", &t);while(t--) {scanf("%d%d", &a, &b);if(a > b) {x = a;a = b;b = x;}printf("%d\n", s[b] - s[a - 1]);}return 0;
}

View Code

转载于:https://www.cnblogs.com/dramstadt/p/6103475.html

完数[HDU1406]相关推荐

  1. HDU1406 完数【水题】

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

  2. HDU 1406 完数

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

  3. ACMNO.11 一个数如果恰好等于它的因子之和,这个数就称为“完数“。 例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数“。 编程序找出N之内的所有完数,并按下面格式输出其因子

    写在前面,心得感悟~ 代码越来越有难度! 这个ACM题,我调试了 将近50次~ 一个小时! 真的是,年纪轻轻的搞什么ACM呀! 关于题的解决思路放在下面再写吧! 题目描述 一个数如果恰好等于它的因子之 ...

  4. C语言打印1000以内的完数

    C语言打印1000以内的完数 #include <stdio.h> int main() {int m, s, i;int n = 1000;for (m = 2; m <= n; ...

  5. 【c语言】蓝桥杯算法训练 完数

    问题描述 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如,6的因子为1.2.3,而6=1+2+3,因此6就是"完数".又如,28的因子为1.2.4. ...

  6. 算法每日练习之判断完数

    package myjava; //2016-8-22题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数. publi ...

  7. C++第10周项目4参考——完数

    课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目4:输出完数](课本p86第20题)一个数如果恰好等于它的因子之和, ...

  8. C++实现 找出10000以内的完数

    C++实现 找出10000以内的完数 #include <stdio.h> int main(){int n; // 用户输入的整数int i; // 循环标志printf("输 ...

  9. Python求找出1000以内所有的“完数”

    完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的真因子之和,则称该数为& ...

最新文章

  1. QXTEND QUERY SERVICE调试成功
  2. 判断一个单链表中是否存在环
  3. 这是一个最不缺“大师”的时代
  4. Struts2→拦截器、工作原理、拦截器计算Action执行时间、Struts2自带拦截器、拦截器栈
  5. 金税盘3.1、百旺V5、UKEY数据库
  6. 使用Windows批处理压缩文件
  7. Android 梯形TextView
  8. Codevs 3322 时空跳跃者的困境(组合数 二项式定理)
  9. 成员函数的重载、覆盖与隐藏(详细)【转】
  10. php copy函数 失败,wamp中的copy函数bug
  11. 【css】fa图标变细
  12. 1790D Matryoshkas
  13. Keil环境下完成一个基于STM32汇编程序的编写
  14. 【python圆周率计算】python计算圆周率π的值到任意位
  15. “error C2712: 无法在要求对象展开的函数中使用__try”解决方案
  16. 【英语系列一】—量变到质变亲体验
  17. 2022年混过的那些SAP项目
  18. 在校学生申请英国旅游签证材料清单及说明【2017年3月】
  19. 百度 和 谷歌 的站内搜索引擎代码
  20. “网抑云”,缺的是梗吗?

热门文章

  1. 数组不能将数值传给int_[day day go]数组
  2. like mybatis 用法_Mybaits中Like 的使用方式以及一些注意点
  3. python+Treelite:Sklearn树模型训练迁移到c、java部署
  4. R学习笔记(4): 使用外部数据
  5. 录制方式及一些脚本字段信息
  6. 使用Hystrix守护应用(1)
  7. 搭建 sock5代理服务器
  8. Spring boot with Hive
  9. 物联网平台之争 巨头竞合并存
  10. 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子