NYOJ 月老的烦恼(1)

月老的烦恼(1)

时间限制:1000 ms  |  内存限制:65535 KB

难度:3

描述

月老最近遇到了一个很棘手的问题,就是“剩男”“剩女”急速增长,而自己这边又人手不足导致天天都得加班。现在需要你来帮助月老解决这个问题,牵红绳的规则很简单:每个男生都一个编号n(1<=n<=500000),编号n的因数之和就是要牵线的女生的编号。

如20的因子是:1,2,4,5,10;

输入
输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).
输出
对于每组测试数据,请输出一个代表输入编号N男生的另一半的编号.
样例输入
3
2
10
12
样例输出
1
8
16
和打素数表一样
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
const int max=500002;
int a[max];
void count(){
		int i,j;
		for(i=1;i<max/2;++i)
			for(j=i+i;j<max;j+=i)
				a[j]+=i;
}
int main()
{
	count();
	int k,n;
	scanf("%d",&k);
	while(k--){
		scanf("%d",&n);
		printf("%d\n",a[n]);
	}
	return 0;
}

时间: 2024-08-07 01:48:55

NYOJ 月老的烦恼(1)的相关文章

月老的烦恼(1) NYOJ 478

1 #include<stdio.h>//月老的烦恼(1)(478) 2 #include<math.h> 3 #include<string.h> 4 #define MAX 500000 5 int a[MAX]; 6 void count() 7 { 8 int i,j,t; 9 t=MAX/2; 10 memset(a,0,sizeof(a)); 11 for(i=1;i!=t;i++){ 12 for(j=i*2;j<=MAX;j+=i){ 13 a[j

NYOJ 月老的难题 (最大二分图匹配,匈牙利算法)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=239 月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭. 现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸福的家庭,月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福家庭数量吧. 假设男孩们分别

NYOJ兔子的烦恼(一)

兔子的烦恼(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 在一座山上有n个山洞(每个洞从0~n-1分别编号),这山上有一只兔子躲在山洞里,有一只狼,从编号为0的山洞开始入洞,每隔m-1个洞,再次入洞抓兔子,现在问,兔子能否避免这场灾难? 例如:m=2 and n=6, 狼将要进入的山洞号为:0,2,4,0; 输入 有多组测试数据,不超过1000组; 每组有两个整数m,n(0<m,n<=1000); 注意:程序以文件结束符"EOF"结束输

nyoj 月老的难题 (稳定婚姻问题)

百度了一下稳定婚姻问题.. 还有什么GS算法.. 以为什么高端的东西.. 尼玛结果代码跟上一题一模一样的好吗.. 醉了.. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cstring> 5 #include<string> 6 #include<queue> 7 #include<algorithm> 8 #include&l

ural 1109,NYOJ 239,匈牙利算法邻接表

NYOJ 239:http://acm.nyist.net/JudgeOnline/problem.php?pid=239 ural 1109 :http://acm.timus.ru/problem.aspx?space=1&num=1109 NYOJ 月老的难题,是裸的最大匹配,很烦的是邻接阵超时.改用邻接表. #include <bits/stdc++.h> using namespace std; #define maxn 1005 vector <int> G[m

NYOJ 478

月老的烦恼(1) 描述 月老最近遇到了一个很棘手的问题,就是“剩男”“剩女”急速增长,而自己这边又人手不足导致天天都得加班.现在需要你来帮助月老解决这个问题,牵红绳的规则很简单:每个男生都一个编号n(1<=n<=500000),编号n的因数之和就是要牵线的女生的编号. 如20的因子是:1,2,4,5,10 输入 输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000). 输

NYOJ 237 游戏高手的烦恼

游戏高手的烦恼时间限制:1000 ms | 内存限制:65535 KB难度:5描述有一位传说级游戏高手,在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有许多敌人,玩家可以使用炸弹炸掉某一行或者某一列的所有敌人.他是种玩什么游戏都想玩得 优秀的人,所以,他决定,使用尽可能少的炸弹炸掉所有的敌人. 现在给你一个游戏的状态,请你帮助他判断最少需要多少个炸弹才能炸掉所有的敌人吧. 比如说,下图中X表示敌人 X . X . X . . X . 则,他只需要炸掉第1行与第2列就能炸掉所有的敌

NYOJ 237 游戏高手的烦恼 &amp;&amp; POJ3041-Asteroids ( 二分图的最大匹配 )

链接: NYOJ 237  游戏高手的烦恼:click here~~ POJ  3041 Asteroids           :click here~~ 题意: 两题一样,翻译不同而已. 有一位传说级游戏高手,在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有许多敌人,玩家可以使用炸弹炸掉某一行或者某一列的所有敌人.他是种玩什么游戏都想玩得很优秀的人,所以,他决定,使用尽可能少的炸弹炸掉所有的敌人. 现在给你一个游戏的状态,请你帮助他判断最少需要多少个炸弹才能炸掉所有的敌人吧.

NYOJ 682 初学者的烦恼

初学者的烦恼 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 小c才开始学习c语言,让他最烦恼的就是对字符数组的操作.小C的好朋友小E为了激励他,出了这样一个题目:字符串的移动输出.并给他许诺说,如果他能够在有限的时间内编写出这道题目的代码,并顺利通过就请他去吃大餐,于是小C便认真的敲这个题目的代码去了,聪明的你也来练练手吧. 输入 第一行包括一个整数t,代表有t组数据: 每组数据第一行包括一个整数m(1<=m<=50),第二行有m个小写英文字符,第三行包括一个整