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

数字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
Author
Ignatius.L
Source
杭电ACM省赛集训队选拔赛之热身赛
Recommend
Eddy   |   We have carefully selected several similar problems for you:  1286 1406 1211 1214 1201 
//此处思想类似于筛法求素数的思想 
 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <queue>
 4 #include <vector>
 5 #include <stack>
 6 #include <map>
 7 #include <string>
 8 #include <cstring>
 9 #include <algorithm>
10 #include <iostream>
11 #define maxe 500000
12 int a[500010];
13 int main()
14 {
15     int T,i,j;
16     scanf("%d",&T);
17     memset(a,0,sizeof(a));
18     for(i=1;i<=maxe;i++)
19     {
20         for(j=2;i*j<=maxe;j++)
21         {
22            a[i*j]=a[i*j]+i;
23         }
24     }
25     int n;
26     while(T--)
27     {
28        scanf("%d",&n);
29        printf("%d\n",a[n]);
30     }
31     return 0;
32
33 }

下面是来自别人的博客:

1.素数打表,这个就不说了,基本功。

2.接下来就是这个问题的关键:素分解。不会的可以移步这篇文章:http://wenku.baidu.com/view/e55ca209ba1aa8114431d98a.html

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<string>
 5 #include<cmath>
 6 #include<algorithm>
 7 using namespace std;
 8
 9 #define CLR(arr, what) memset(arr, what, sizeof(arr))
10 const int N = 500002;
11
12 int prim[N];
13 bool visit[N];
14
15 void fast_prim() //素数打表
16 {
17     memset(visit, true, sizeof(visit));
18     int limit = (int)sqrt(N * 1.0);
19     for(int i = 2; i < limit; ++i)
20         if(visit[i])
21             for(int j = i * i; j < N; j += i)
22                 visit[j] = false;
23     for(int i = 2, j = 0; i < 10000; ++i)
24         if(visit[i])
25             prim[j++] = i;
26 }
27
28 int prim_reduce(int n) //整数素分解
29 {
30     int limit, num, sum, total = 1, temp = n;
31     limit = sqrt(N * 1.0);
32     for(int i = 0; prim[i] * prim[i] <= n; ++i)
33     {
34         num = sum = 1;
35         if(n == 1)
36             break;
37         while(n % prim[i] == 0)
38         {
39             num *= prim[i];
40             n /= prim[i];
41             sum += num;
42         }
43             total *= sum;
44     }
45     if(n != 1)
46         total *= (n + 1);
47     return total - temp;
48 }
49
50 int main()
51 {
52     fast_prim();
53     int ncase;
54     int num;
55     scanf("%d", &ncase);
56     while(ncase--)
57     {
58         scanf("%d", &num);
59         if(num == 1)
60         {
61             printf("0\n");
62             continue;
63         }
64         else if(visit[num])
65         {
66             printf("1\n");
67             continue;
68         }
69         else
70             printf("%d\n", prim_reduce(num));
71     }
72     return 0;
73 }

在于打表的过程不同,这种方法是解决这种问题的通法

转载于:https://www.cnblogs.com/wangmengmeng/p/4701911.html

打表(1215)七夕节相关推荐

  1. HDU 1215 七夕节

    /* 题目大意:求一个数的合数 解题思路:利用打表将各个数的因子有加到一起,最后再减去自身就可以了 难点详解:在打表的时候注意第二个for循环的使用,为了大大减少运行次数,用i*j限定运行次数 关键点 ...

  2. HDU 1215 七夕节 数论

    七夕节 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 七夕节 ...

  3. hdu 1215 七夕节

    百度之星编程大赛--您报名了吗? 杭电ACM 2014暑期集训队--选拔安排~ 七夕节 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...

  4. 【 HDU - 1215 】七夕节(数论,约数和公式)

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

  5. 七夕节,程序员们都怎么哄女朋友开心?

    大家好,马上就七夕节了,七夕节是牛郎织女鹊桥相会的相会的日子. 这篇文章的前提是,你得有个女朋友,没有就先收藏着吧! 一.七夕节的由来 七夕节的来源是梁山伯与祝英台的美丽传说,化成了一对蝴蝶~ 美丽的 ...

  6. HDU1215 七夕节【水题】

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

  7. 七夕节最深情表白文案从此告别搓衣板

    七夕是中国传统的情人节,在这充满浪漫氛围的一天,给心上人表白会更容易成功哦!下面是小编给大家整理的关于2022七夕节最深情表白文案80句_过七夕情人节暖心问候语,欢迎大家参考参考 七夕节最深情表白文案 ...

  8. 【七夕节】html+css+JavaScript+服务器 给女朋友的七夕过节网站

    目录 前言 记录一起走过的那些日子 创意代码表白 进入第一部分:记录趣事的爱情话匣子 进入第二部分:恋爱纪念册 进入第三部分:爱情相册 登录界面 纪念册 相册 前言 七夕来袭!这是中国人的情人节,不是 ...

  9. 七夕活动主题html邮件,七夕节活动主题口号

    七夕节活动主题口号 织女不用敛蛾眉,前度牛郎今又回.鹊桥执手望泪眼,良辰美景不思归.下面是小编整理的七夕节活动主题口号,希望对你有帮助! [七夕餐饮广告口号] "长久"酒店一直为您 ...

  10. 七夕节马上要到了,前端工程师,后端工程师,算法工程师都怎么哄女朋友开心?

    这篇文章的前提是,你得有个女朋友,没有就先收藏着吧! 七夕节的来源是梁山伯与祝英台的美丽传说,化成了一对蝴蝶~ 美丽的神话!虽然现在一般是过214的情人节了,但是不得不说,古老的传统的文化遗产,还是要 ...

最新文章

  1. 无序数组及其子序列的相关问题研究
  2. Java-NIO(九):管道 (Pipe)
  3. python下载安装教程2.7-Linux下安装python-2.7
  4. SpringMVC的请求-获得请求参数-参数绑定注解@RequestParam
  5. 禁止MT在公式后面自动添加一个空格
  6. C#中配置文件保存的路径
  7. rabbitMQ windows 下安装
  8. HLSL效果框架-多光源效果
  9. Java常见面试题含答案(第一期)
  10. matlab上位机串口通信中如何发送16进制数,而不是当做ASCII字符发送(已实测成功)
  11. html5中背景图片的大小怎么调,css中怎么改变背景图片大小?
  12. ffmpeg 有声视频合成背景音乐(合成多声音/合成多音轨)
  13. 科学计算线性方程组的几个实例
  14. RPA学习天地:艺赛旗RPA机器人的4种类型和区别介绍
  15. 混沌研习社-《创业反思-成为更加优秀的自己》 百度云下载
  16. 大学物理·第7章恒定磁场
  17. mysql marked crashed_MySQL解决is marked as crashed and should be repaired故障
  18. c语言存储对局信息,[蓝桥杯][2017年第八届真题]对局匹配 (C语言代码)
  19. CT图片分类神经网络
  20. 联想 win7 和 苹果macbook 登录密码忘记 解决方法

热门文章

  1. Notepad++插件安装和使用和打开大文件
  2. hc06蓝牙模块介绍_微测评 | 小米智能插座蓝牙网关版
  3. php 所有子类,php获取分类以下的全部子类方法
  4. ReocketMq常用命令
  5. 1.7.05:输出亲朋字符串
  6. [Postgres] Group and Aggregate Data in Postgres
  7. 去掉博客复制下来的代码的行号
  8. Unity3d--第三人称摄像机常用控制
  9. Centos 设置时区和时间以及增加中文输入法
  10. 创建DbContext