题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=723

I Count Two Three
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3582 Accepted Submission(s): 1094

Problem Description
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 Input
10
1
11
13
123
1234
12345
123456
1234567
12345678
123456789

Sample Output
1
12
14
125
1250
12348
123480
1234800
12348000
123480000

题目大意:输入一个不超过10的9次方的整数n,然后输出一个最接近n且不小于n的整数同时这个数还满足

     这样的格式(2^a*3^b*5^c*7^d、  a,b,c,d可为任意非负整数)

解题思路:暴力打表   用一四重循环求出所有范围内且满足2^a*3^b*5^c*7^d格式的整数 在sort排序后二分查找。

AC代码:

 #include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std; long long a[]; int main()
{
int t = , i, j, k, l, n; //求出所有范围内且满足2^a*3^b*5^c*7^d格式的整数
for(i = ; (long long)pow(,i) < ; i++)
for(j = ; (long long)pow(,i)*pow(,j) < ; j++)
for(k = ; (long long)pow(,i)*pow(,j)*pow(,k) < ; k++)
for(l = ; (long long)pow(,i)*pow(,j)*pow(,k)*pow(,l) < ; l++)
a[t++] = (long long)(pow(,i)*pow(,j)*pow(,k)*pow(,l)+1e-);
sort(a, a + t);
scanf("%d", &n);
while(n--)
{
scanf("%d", &l);
if(l == ) //如果是1输出它本身
printf("1\n");
else
{
i = t / ;
j = ;
k = t;
while() //二分查找
{
if(l <= a[i] && l > a[i-])
{
printf("%d\n", a[i]);
break;
}
else if(l < a[i])
{
k = i;
i = (j+i)/;
}
else
{
j = i;
i = (i+k)/;
}
}
}
}
}

注意:  打表时不能只求10^9之内的数,

   需要找超出10^9一些的数。 否则容易在边界处出错。

16年青岛网络赛 1001 I Count Two Three的更多相关文章

  1. 16年青岛网络赛 1002 Cure

    题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1002&cid=723 Cure Time Limit: 30 ...

  2. HDU 6206 青岛网络赛1001 高精度 简单几何

    给出的数据1e12规模,常规判点是否在圆范围内肯定要用到半径,求得过程中无法避免溢出,因此用JAVA自带的浮点大数运算,和个ZZ一样比赛中eclipse出现问题,而且太久没写JAVA语法都不清楚变量忘 ...

  3. HDU 4759 Poker Shuffle(2013长春网络赛1001题)

    Poker Shuffle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  4. HDU 4738 Caocao's Bridges (2013杭州网络赛1001题,连通图,求桥)

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. HDU 5880 Family View (2016 青岛网络赛 C题,AC自动机)

    题目链接  2016 青岛网络赛  Problem C 题意  给出一些敏感词,和一篇文章.现在要屏蔽这篇文章中所有出现过的敏感词,屏蔽掉的用$'*'$表示. 建立$AC$自动机,查询的时候沿着$fa ...

  6. HDU - 5878 2016青岛网络赛 I Count Two Three(打表+二分)

    I Count Two Three 31.1% 1000ms 32768K   I will show you the most popular board game in the Shanghai ...

  7. 2016 年青岛网络赛---Family View(AC自动机)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5880 Problem Description Steam is a digital distribut ...

  8. 2016ACM-ICPC Qingdao Online青岛网络赛题解

    TonyFang+Sps+我=5/12 滚了个大粗 2016年9月21日16:42:36 10题完工辣 01 题意:求形同的数中大于n的最小值 题解:预处理所有的(5194个),在这里面二分 #inc ...

  9. 2016 ACM/ICPC Asia Regional Qingdao Online(2016ACM青岛网络赛部分题解)

    2016 ACM/ICPC Asia Regional Qingdao Online(部分题解) 5878---I Count Two Three http://acm.hdu.edu.cn/show ...

随机推荐

  1. Java开发中经典的小实例-(打印九九乘法表)

    public class Test16 {    public static void main(String[] args) {        // TODO Auto-generated meth ...

  2. PHP中的闭包和匿名函数

    闭包的概念是指在创建闭包时,闭包会封装周围的状态的函数.即便闭包所在环境不在了.但闭包中封装的状态依然存在. 匿名函数就是没有名称的函数. 它们看似很函数一样,实际上它们属于Closure类的实例 P ...

  3. Linux架构

    Linux架构   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我以下图为基础,说明Linux的架构(architecture ...

  4. jQuery核心之jQuery Object及其相关的常用方法

    1.jQuery Object 和 原生的DOM对象之间有许多方法是不一样的,用jQuery的方法大部分情况下返回的是jQuery Object,但是jQuery也提供了一些方法可以很轻松的获取原生的 ...

  5. 解决sublime text3中的输入法不根随光标问题

    日本的一位大神开发了一款插件用在Sublime Text上,以缓解输入法不跟随光标移动的问题.当然这个问题并没有完美的解决,据一些用户的反映,输入过程中还是偶尔会发生输入法不跟随光标移动的问题,不过确 ...

  6. 使用Github管理项目代码的版本

    作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法. 在Git中并不存在主库这样的概 ...

  7. Android API 21 Toolbar Padding

    up vote117down votefavorite 44 How do I get rid of the extra padding in the new Toolbar with Android ...

  8. Spirng中Mongodb中write-concern的解释

    Spring在插入数据库时没有返回状态配置:write-concern获取异常<beans xmlns="http://www.springframework.org/schema/b ...

  9. high-frequency words and phases

    abide by(=be faithful to ; obey vt)忠于:遵守. a) Plese feel assured we will abide by our promise. 2. be ...

  10. Eclipse中@author的修改

    什么东西都可能会被忘掉,我这种记性不好的就更容易忘了.换了电脑后eclipse中的@author变了,于是找了下修改@author的方法:1. 在eclipse.ini中添加-vmargs-Duser ...