七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" 
人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下:

数字N的因子就是所有比N小又能被N整除的所有正整数,如12的因子有1,2,3,4,6. 
你想知道你的另一半吗? 

Input

输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).

Output

对于每组测试数据,请输出一个代表输入数据N的另一半的编号.

Sample Input

3
2
10
20

Sample Output

1
8
22 // 注意T和N的取值范围,直接遍历求因子和计算量过大
 #include<stdio.h>
int main()
{
int t, n, sum, i;
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
sum=;
for(i=;i<n;i++)
if(n%i==)
sum+=i;
printf("%d\n", sum);
}
return ;
}

Time Limit Exceeded

// 取一半遍历还是太大
 #include<stdio.h>
int main()
{
int t, n, sum, i;
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
sum=;
for(i=;i<=n/;i++)
if(n%i==)
sum+=i;
printf("%d\n", sum);
}
return ;
}

Time Limit Exceeded*2

// 用了打表,但是求因子和的算法未变
 #include<stdio.h>
int soulm[];
int main()
{
for(int j=;j<=;j++)
{
int sum=;
for(int i=;i<=j/;i++) if(j%i==) sum+=i;
soulm[j]=sum;
}
int t, n;
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
printf("%d\n", soulm[n]);
}
return ;
}

Time Limit Exceeded*3

// i和j表示因子,其中j又代表不超过N的正整数.
// 减少了调用因子的次数,用循环控制积
// 注意表中的和包含了N,输出时要减去
 #include<stdio.h>
int soulm[];
int main()
{
for(int j=;j<=;j++)
for(int i=;i*j<=;i++)
soulm[i*j]+=i;
int t, n;
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
printf("%d\n", soulm[n]-n);
}
return ;
}

AC

4C - 七夕节的更多相关文章

  1. ITer的七夕节,你的情人在哪里(2015-08-19)

    自写<一个程序猿的生命周期>连载以来,迎来第一个七夕节,打算写篇文章纪念一下.我主张过中国自己的节日的,也不反对过其他国家的节日,但是要搞清楚其他国家节日的由来,不要把别人的鬼节当成我们的 ...

  2. HDOJ 1215 七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  3. hdu 1215 七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  4. hdu1215七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  5. 七夕节(hd1215)干嘛今天做这题T_T

    七夕节 Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!&q ...

  6. 【HDOJ 1215】七夕节

    七夕节 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissio ...

  7. HDU1215 七夕节(模拟 数学)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1215 七夕节 Time Limit: 2000/1000 MS (Java/Others)    Me ...

  8. HDU——1215七夕节(因数和)

    七夕节 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  9. HDU 1215.七夕节【筛选法】【7月26】

    七夕节 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,而且和数字王国的人们说:"你们想知道你们的还有一半是谁吗?那就依照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道 ...

随机推荐

  1. springboot 整合task定时任务

    一步:在启动类中加入     加入就会调用定时了. //开启定时任务 开启后就可以被扫描到   @EnableScheduling 二步:建一个tasks工具包 都会被扫描到的了 有三个类 Async ...

  2. asp.net 服务器 上传文件到 FTP服务器

    private string ftpServerIP = "服务器ip";//服务器ip private string ftpUserID = "ftp的用户名" ...

  3. Oracle ORA-00911: 无效字符

    SQL语句后多了个分号 “ ; ”.

  4. 解决:python 连接Oracle 11g 报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

    其次,将查询到的service_name替换sid即可:conn=cx_Oracle.connect('hr/admin@localhost:1521/EE.oracle.docker')

  5. gparted增加Ubuntu14.04根目录空间(转)

    转自:https://blog.csdn.net/t765833631/article/details/79031063 在win7上装了Ubuntu14.04双系统后,突然发现ubuntu开机会弹出 ...

  6. 初识Elasticsearch,bulk 操作的遇到的那些事

    bulk api可以在单个请求中一次执行多个文档的 create . index . update 或 delete 操作 批量操作的行为(action)必须是以下几种: 行为 解释 create 当 ...

  7. 老代码:js实现二级城市联动(MVC)

    FormViewCity 为mvc控制器传给view的数据,包括一个MyCitys集合字段. <%@ Page Title="" Language="C#" ...

  8. python生成Excel图表(通过xlsxwriter)

    前面介绍了pandas的简单用法,pandas的数据可以通过matlab第三方包将数据生成报表,但是我想将报表生成在Excel中,这时候就可以借助xlsxwriter第三方包来生成图标   缺点:xl ...

  9. 如何搭建python+selenium2+eclipse的环境

    搭建python和selenium2的环境(windows) 1.下载并安装python(我用的是2.7的版本) 可以去python官网下载安装:http://www.python.org/getit ...

  10. 【翻译】View Frustum Culling --2 Geometric Approach – Extracting the Planes

    在上一篇中,我们知道了视锥体的形状,并且也确定了我们进行裁剪时的步骤.那我们接下来要走的就是确定视锥体的六个平面: near, far, top, bottom, left and right 2.计 ...