Problem A. I Count Two Three(The 2016 ACM-ICPC Asia Qingdao Regional Contest, Online)

2024-01-31 06:18

本文主要是介绍Problem A. I Count Two Three(The 2016 ACM-ICPC Asia Qingdao Regional Contest, Online),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Problem A. I Count Two Three(点击转到)
Time limit: 1s
Color of balloons: 32768K
I will show you the most popular board game in the Shanghai Ingress Resistance Team. It all started several
months ago. We found out the home address of the enlightened agent Icount2three and decided to draw him out.
Millions of missiles were detonated, but some of them failed.
After the event, we analysed the laws of failed attacks. It’s interesting that the i-th attacks failed if and only if i
can be rewritten as the form of 2a3b5c7d which a, b, c, d are non-negative integers.
At recent dinner parties, we call the integers with the form 2a3b5c7d “I Count Two Three Numbers”. A related
board game with a given positive integer n from one agent, asks all participants the smallest “I Count Two Three
Number” no smaller than n.
Input
The first line of input contains an integer t (1 t 500000), the number of test cases. t test cases follow. Each
test case provides one integer n (1 n 109).
Output
For each test case, output one line with only one integer corresponding to the shortest “I Count Two Three Number”
no smaller than n.
Sample
standard input
10
1
11
13
123
1234
12345
123456
1234567
12345678
123456789

 

standard output
1
12
14
125
1250
12348
123480
1234800
12348000
123480000

1.题目含义:

    定义”I Count Two Three Number”为:pow(2,a)*pow(3,b)*pow(5,c)*pow(7,d).。求满足大于n的最小的”I Count Two Three Number”。

2.倘若每次读入n进行重复的运算,那是非常不合理的,可以预处理一下数据。

3  lower_bound()和upper_bound()的用法

    lower_bound(num,num+n,x) 返回num数组中大于等于x中,且是最小的数的指针

    upper_bound(num,num+n,x) 返回num数组中大于x中,且是最小的数的指针

   点击查看详情

#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int mod = 1e9;
int bas[4] = {2,3,5,7};
int num[23333];
int r;
void begin(int pos,LL v)
{if(pos == 4){num[r++] = v;return;}while(v <= mod){begin(pos+1,v);v=v*bas[pos];}
}
int main()
{r = 0;begin(0,1);sort(num,num+r);int t,n;scanf("%d",&t);while(t--){scanf("%d",&n);printf("%d\n",*lower_bound(num,num+r,n));}return 0;
}

 

这篇关于Problem A. I Count Two Three(The 2016 ACM-ICPC Asia Qingdao Regional Contest, Online)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662808

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

Regionals 2004 Asia - Beijing Argus 小根堆

点击打开链接 小根堆 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokeni

AtCoder Beginner Contest 370 Solution

A void solve() {int a, b;qr(a, b);if(a + b != 1) cout << "Invalid\n";else Yes(a);} B 模拟 void solve() {qr(n);int x = 1;FOR(i, n) FOR(j, i) qr(a[i][j]);FOR(i, n) x = x >= i ? a[x][i]: a[i][x];pr2(

Three 渲染器(二)

WebGL1Renderer 构造函数 WebGL1Renderer( parameters : Object ) Creates a new WebGL1Renderer. 属性 See the base WebGLRenderer class for common properties. 方法 See the base WebGLRenderer class for common

【转载】ACM感悟

今天看了一篇我们学校前辈的ACM的感悟,觉得写的十分有道理,这里转载,文章还会不断的改进和更新。 原文链接:http://www.cnblogs.com/Chierush/p/3760870.html?ADUIN=1339764596&ADSESSION=1401536826&ADTAG=CLIENT.QQ.5329_.0&ADPUBNO=26349 声明:本文是写给弱校ACM新手的一点