居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2

完数

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

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

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int _is(int x)
 5 {
 6     int i,j,k,l,sum=1;
 7     for(i=2;i<=x/2;i++)
 8     {
 9         if(x%i==0)
10         {
11             sum+=i;
12         }
13     }
14     if(sum==x)
15         return 1;
16     return 0;
17 }
18 int main()
19 {
20     int x,y,i,j,n;
21     cin>>n;
22     while(n--)
23     {
24         int count=0;
25         scanf("%d%d",&x,&y);
26         if(x>y)
27         {
28             int t;
29             t=x;
30             x=y;
31             y=t;
32         }
33         for(i=x;i<=y;i++)
34         {
35             if(_is(i))
36             {
37                 count++;
38             }
39         }
40         printf("%d\n",count);
41     }
42
43 }
时间: 2024-10-24 14:33:03

居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2的相关文章

注册、起名、选头像,也许起步就错了——自媒体有坑,得绕①

世上本来就有坑,掉进去的人多了,也就发现了坑.前方有坑,大家绕行.这里是第1期<自媒体有坑,得绕>,咱们先来个起手式,从注册用户开始讲起. 或许你会说了,注册自媒体,这种事还要教吗?没注册过,也有微信.邮箱,那样不是3分钟搞定.实在是注册的不太满意了,咱随后就改还不得了. 咱们先举个例子.比如我要去注册一个微信公众号或者微博号,又或者今日头条号,为了辨识度更高,肯定我所有的自媒体平台账号会选择同一个名字,选什么呢? 对,注意听讲的小伙伴可能记住了我的真名,张书乐.所以一般来说,就会严格按照有关

变量值交换

交换两个变量:例如num1=5,num2=6→num1=6,num=5 怎么样?是不是觉得灰常简单,你是不是用下面的方法做的: int num1=5: int num2=6: int temp=num1: num1=num2; num2=temp; Console.WriteLine("num1={0},num2={1}",num1,num2); 好吧!你赢了!你做的非常对!就就是所谓的值传递 声明一个中间变量temp!没有可说的!大家都懂的! 接着我们来看下面这个比较犀利的出题人:

3.基础语法(变量,字符转义和注释)

今天来看看一些基础C#语法,也许对你有所帮助吧! 一.变量 /* 1. 软件如果需要处理数据的话,那么这个数据是需要被存储在内存中. * 数据如何存在在内存中? * 在内存中开辟1块指定类型的空间.将这个数据存储到这个空间中就可以. * 空间的类型一旦指定. 那么这个空间中就只能存储这类型的数据. * * 2. 变量: 声明1个变量其实就是在内存中开辟1块指定的类型的空间 用来存储数据. * 需要注意: * a. 一定要指定这个变量的类型. * b. 变量的类型一旦指定以后,那么这个变量中就只能

2015-11-15 第四天

冒泡算法 要求:给定一个列表 [13,22,6,99,11] 通过程序实现让他们可以从小到大排序. 思路:让相邻的两个数互比大小,存在大数就放在右边. 我的实现: #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'lilon' li = [33,11,88,77,44,345,223,113,555,23,3] print li print "**************************8" #定义冒泡函数,

ubuntu下apache虚拟主机出现forbidden错误的解决办法

交换两个变量:例如num1=5,num2=6→num1=6,num=5 怎么样?是不是觉得灰常简单,你是不是用下面的方法做的: int num1=5: int num2=6: int temp=num1: num1=num2; num2=temp; Console.WriteLine("num1={0},num2={1}",num1,num2); 好吧!你赢了!你做的非常对!就就是所谓的值传递 声明一个中间变量temp!没有可说的!大家都懂的! 接着我们来看下面这个比较犀利的出题人:

第六周课堂总结

第1章 操作符 1.1测试文件 格式 [ 操作符 文件或目录 ] 操作符: -d:测试是否为目录,是则为真(Directory) -e:测试目录或文件是否存在,存在则为真(Exist) -f:测试是否为文件,是则为真(file) -r:测试当前用户是否有权限读取,是则为真(read) -w:测试当前用户是否有权限写入,是这为真(write) -x:测试当前用户是否可执行该文件,可执行则为真(Excute) 1.2字符串比较 格式 : [ 字符串1 = 字符串2 ] [ 字符串1 != 字符串2

【Datastage】NULL VALUE TO A NOT NULL VALUE

使用ds是报错如上图: 造成这个问题的原因是: 在写SQL时候没有给字段别名与DS中对应一致 例如有下表: CREATE TABLE DataInfo( ID_1 VARCHAR(10), ID_2 VARCHAR(10) ) CREATE TABLE DataInfo_t( num1 VARCHAR(10), num2 VARCHAR(10) ) 现在想把数据从DataInfo_t加工到DataInfo表中,那么SQL如下: SELECT num1,num2 FROM DataInfo_1 上

Shell test命令(Shell [])详解,附带所有选项及说明

test 是 Shell 内置命令,用来检测某个条件是否成立.test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test. test 命令有很多选项,可以进行数值.字符串和文件三个方面的检测. Shell test 命令的用法为: test expression 当 test 判断 expression 成立时,退出状态为 0,否则为非 0 值. test 命令也可以简写为[],它的用法为: [ expression ] 注意[]和expression之间的空格,这两个空格是必

[踩坑] MySQL max_allowed_packet导致sql文件source异常问题

踩坑: 今天通过mysqldump导出数据,在目标机器上开个screen执行source导入数据.过一会看了下,发现居然导入报错了.报错提示如下: 刚开始还以为是sql_mode设置的问题,改了sql_mode为宽松模式,再次导入还是报错. 网上查了下,http://blog.goyiyo.com/archives/1535 set global max_allowed_packet=524288000;    设置为512MB 退出mysql,然后再登进去source即可. 究其原因,是因为之