http://acm.hdu.edu.cn/showproblem.php?pid=1215

题目大意:

找对象的题。。。汗。。将你的编号(唯一)的所有因子加起来,所得到的的另一个编号的主人就是你的另一半。给出你的编号,要求找到你的对象的编号。

一开始直接模拟TLE。

然后后来看到别人是这么做的:

#include<cstdio>
#include<string> int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
int cur=2;
int ans=1;
for(int i=2;(i>>1)<=n;i++) //将问题规模减半
{
if(n%i==0)
{
if(n/i > i) //如果把不等于i,那么说明i和n/i都是因子
ans+=n/i+i;
else if(n/i==i) //等于i就一个因子
ans+=i;
else //如果n/i<i说明因子算完了。。
break;
} }
printf("%d\n",ans);
}
return 0;
}

后来采用类似筛选素数的方法,打表。

我们先将2的倍数的都+上2.。。3的倍数都加上3、。。。。

要注意的是如果n==1的时候答案为0.

#include<cstdio>
const int MAXN=500000+1;
const int N=250000;
int ans[MAXN]={0};
int main()
{
for(int i=2;i<MAXN;i++)
for(int j=i+i;j<MAXN;j+=i)
ans[j]+=i; ans[1]=-1; int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
printf("%d\n",ans[n]+1);
}
return 0;
}

HDU 1215 七夕节 数学题~的更多相关文章

  1. hdu 1215 七夕节

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

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

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

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

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

  4. [HDU 1215] 七夕节(求因子,不超时)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1215 //注意怎么处理不超时 #include<iostream> #include< ...

  5. HDU——1215 七夕节

    暴力枚举....(正解好像不是这样...) 代码: #include<cstdio> #include<cstdlib> #include<cstring> #in ...

  6. HDOJ 1215 七夕节

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

  7. 数学--数论--HDU 12151七夕节 Plus (因子和线性筛)

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

  8. 数学--数论--HDU 12151七夕节

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

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

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

随机推荐

  1. UVALive-6485-Electric Car Rally(BFS)

    题目:点击打开链接 思路:对于当前位置的每个时间段都要走一遍(除了那些须要的时间比最大同意的时间还大的),用 整形 vis[当前位置][剩余油量] 标记. #include <cstdio> ...

  2. vim-复制、粘贴

    选中某些行,可以在命令行模式下执行如下操作 v(小写),按上下左右键,可以选中某些行 V(大写),按上下键,这时候可以直接选中光标所在的行 ctrl+v(小写),可以选中一个矩形区域 取消选中,这些指 ...

  3. php 生成文件txt到指定目录

    // 向文件追加写入内容 $site = PHP_EOL.date("Y-m-d H:i:s")."world"; //PHP_EOL换行 // 使用 FILE ...

  4. python 时间合集 一

    **以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨**#### python中4种时间表示形式:1.格式化时间字符串 2.时间戳 3.时间元祖 4.时间对象- string_time ...

  5. 使用Multiplayer Networking做一个简单的多人游戏例子-1/2

    原文地址: http://blog.csdn.net/cocos2der/article/details/51006463 本文主要讲述了如何使用Multiplayer Networking开发多人游 ...

  6. HttpClient的基本使用

    HttpClient的基本使用 前言 HttpClient是Apache提供的一个用于在Java中处理HTTP请求.响应操作的工具,由于JDK自带的API对HTTP协议的支持不是很友好,使用起来也不是 ...

  7. 洛谷——P1816 忠诚

    https://www.luogu.org/problem/show?pid=1816#sub 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记 ...

  8. Codeforces 559A Gerald&#39;s Hexagon 数三角形

    题意:按顺序给出一个各内角均为120°的六边形的六条边长,求该六边形能分解成多少个边长为1的单位三角形. 把单位三角形面积看做1,实际上就是求六边形面积.随便找六边形的三条互相不相邻的边,分别以这三条 ...

  9. 转linux文件的读写

    转自 http://www.open-open.com/lib/view/open1474356438277.html 缓存 缓存是用来减少高速设备访问低速设备所需平均时间的组件,文件读写涉及到计算机 ...

  10. subline Text3 安装及汉化

    因为自己的subline 有问题  所以决心重新改一下了. 三步: http://www.sublimetext.com/3      官网下载subline3 https://www.imjeff. ...