完数

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

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
 
注意:判断 n和m两个数的大小,刚开始没注意 一直错
#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 10100
#include<algorithm>
using namespace std;
int wa[MAX],ans[MAX];
void biao()
{
int i,j;
memset(wa,0,sizeof(wa));
memset(ans,0,sizeof(ans));
for(i=1;i<MAX;i++)
{
int sum=0;
for(j=1;j<=(i+1)/2;j++)
{
if(i%j==0)
sum+=j;
}
if(sum==i)
wa[i]=1;
}
wa[1]=0;
for(i=1;i<MAX;i++)
{
if(wa[i])
ans[i]=ans[i-1]+1;
else
ans[i]=ans[i-1];
}
}
int main()
{
int t,n,m,i;
scanf("%d",&t);
biao();
while(t--)
{
scanf("%d%d",&n,&m);
int a=min(n,m);
int b=max(n,m);
printf("%d\n",ans[b]-ans[a-1]);
}
return 0;
}

  

 

hdoj 1406 完数的更多相关文章

  1. HDU 1406 完数 因子的和

    http://acm.hdu.edu.cn/showproblem.php?pid=1406 完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6= ...

  2. HDOJ(HDU) 1406 完数

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

  3. 题解报告:hdu 1406 完数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1406 Problem Description 完数的定义:如果一个大于1的正整数的所有因子之和等于它的 ...

  4. HDU-1406 完数

    http://acm.hdu.edu.cn/showproblem.php?pid=1406 完数 Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  5. java程序设计之完数

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

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

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

  7. OpenMP求完数

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

  8. 完数[HDU1406]

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

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

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

随机推荐

  1. C# and JSON

    JQuery Parse JSON var obj = $.parseJSON(data); C# creates JSON string: public static class JSONHelpe ...

  2. Mongodb FAQ 存储(storage)篇

    1.什么是内存映射文件(memory mapped files)? 内存映射文件是操作系统通过调用函数mmap()创建的一个放在内存中的一个数据文件.这种文件可以当做一个从零开始的内存或者数组,你可以 ...

  3. [wikioi]合并果子

    http://wikioi.com/problem/1063/ 这题是贪心+堆.主要想练习一下堆的写法.算法导论里的方法名是heapify()等,但大家经常用更直观的down(), up()方法(向上 ...

  4. EqualsBuilder和HashCodeBuilder

    package com.osc.demo; import java.util.List; import org.apache.commons.lang.builder.EqualsBuilder; i ...

  5. Yii CDbCriteria

    Yii的Active Recorder包装了很多. 特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码 ...

  6. [HDU 4433]locker[DP]

    题意: 给出密码做的现状和密码, 每次可以移动连续的最多3列, 向上或向下, 求将密码调出来所需要的最少步数. 思路: 首先应看出,恢复的过程中, 调每一位的时间顺序是不影响的, 不妨就从左到右一位位 ...

  7. 【HDOJ】1042 N!

    肯定是大叔,本来以为用加法做乘法,后来想想这样麻烦,还是可以使用乘法的,按位乘,ov可以看成不止一位,程序如下所示: #include <stdio.h> #define MAX 4000 ...

  8. tlplayer for wince 版本正式商用

    开始的时候tlplayer遇到一些问题,后来经过一些简单优化后,可以满足商用条件. 支持http,mms,rtsp等网络协议,支持内存流播放.需要定制或者需要支持hls,rtmp,m3u8等协议的,请 ...

  9. CSS选择器一览

    CSS选择器一览 CSS3 选择器 在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. "CSS" 列指示该属性是在哪个 CSS 版本中定义的.(CSS1.CSS2 还 ...

  10. Python‘ssl.match_hostname()’函数SSL证书验证安全绕过漏洞

    漏洞名称: Python‘ssl.match_hostname()’函数SSL证书验证安全绕过漏洞 CNNVD编号: CNNVD-201312-033 发布时间: 2013-12-04 更新时间: 2 ...