hdu5878(枚举,打表)
题目链接:hdu5878
题意:到一行输入t,表示下面有t组数据,然后下面t行每行输入一个数n;
定义x==2^a*3^b*5^c*7^d(a, b, c, d为自然数,x不大于1e+9);
要求对于每一个n输出>=n的最小x;
思路:由于x比较大,可以先打个表;
依次枚举a,b,c,d将所有不大于1e+9的x存到数组a中,再用;lower_bound()找一下即可;
代码:
#include<bits/stdc++.h>
#define MAXN 10000
#define MAX 1000000000
#define eps 1e-6
#define ll long long
using namespace std; ll a[MAXN]; void get_number(void) //***打表,将所有不大于1e+9的x存数组a中
{
ll flag;
int pos=;
for(int i=; pow(, i)<=MAX; i++)
{
for(int j=; pow(, i)*pow(, j)<=MAX; j++)
{
for(int k=; pow(, i)*pow(, j)*pow(, k)<=MAX; k++)
{
for(int l=; pow(, i)*pow(, j)*pow(, k)*pow(, l)<=MAX; l++)
{
a[pos++]=pow(, i)*pow(, j)*pow(, k)*pow(, l);
}
}
}
}
} int main(void)
{
std::ios::sync_with_stdio(false), cin.tie(), cin.tie();
ll t, n;
get_number();
sort(a, a+MAXN);
cin >> t;
while(t--)
{
cin >> n;
int pos=lower_bound(a, a+MAXN, n)-a; //****二分查找第一个大于等于n的数,返回指针;
cout << a[pos] << endl;
}
return ;
}
hdu5878(枚举,打表)的更多相关文章
- poj 1840 Eqs 【解五元方程+分治+枚举打表+二分查找所有key 】
Eqs Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 13955 Accepted: 6851 Description ...
- 驱动开发:Win10内核枚举SSDT表基址
三年前面朝黄土背朝天的我,写了一篇如何在Windows 7系统下枚举内核SSDT表的文章<驱动开发:内核读取SSDT表基址>三年过去了我还是个单身狗,开个玩笑,微软的Windows 10系 ...
- 51Nod 1016 水仙花数 V2(组合数学,枚举打表法)
1016 水仙花数 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 水仙花数是指一个 n 位数 ( n≥3 ) ...
- UVA 12716 GCD XOR(数论+枚举+打表)
题意:给你一个N,让你求有多少组A,B, 满足1<= B <= A <= N, 且 gcd(A,B) = A XOR B. 思路:首先我们能够得出两个结论: A-B > ...
- Windows PE资源表编程(枚举资源树)
资源枚举 写一个例子,枚举一个PE文件的资源表.首先说下资源相关的作为铺垫. 1.资源类型也是PE可选头中数据目录的一种.位于第三个类型. 2.资源目录分为三层.第四层是描述文件相关的.这些结构是按照 ...
- 驱动开发:内核枚举PspCidTable句柄表
在上一篇文章<驱动开发:内核枚举DpcTimer定时器>中我们通过枚举特征码的方式找到了DPC定时器基址并输出了内核中存在的定时器列表,本章将学习如何通过特征码定位的方式寻找Windows ...
- spring mvc4的日期/数字格式化、枚举转换
日期.数字格式化显示,是web开发中的常见需求,spring mvc采用XXXFormatter来处理,先看一个最基本的单元测试: package com.cnblogs.yjmyzz.test; i ...
- Java基础15:深入剖析Java枚举类
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- ccflow表机构与运行机制(二次开发必看)
驰骋工作流引擎,工作流程管理系统,表结构与运行机制. ------------------------------------------------------- 前言: 1, ccflow 有自动 ...
随机推荐
- Nginx初学者指南
Starting, Stopping, and Reloading Configuration To start nginx, run the executable file. Once nginx ...
- gcc 和g++区别
gcc和g++都是GNU的一个编译器;这两者的区别:1.从源文件上看,对于文件后缀(扩展名)为.c的test.c文件,gcc会把它看成是C程序,而g++则会把它看成是C++程序;而对于文件后缀(扩展名 ...
- linux 使用rpm安装软件时,遇到"warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY "错误
建议的做法: warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY 网上资料说这是 ...
- 获取action name在asp.net mvc
Update for MVC 3 ViewContext.Controller.ValueProvider.GetValue("action").RawValue ViewCont ...
- caffe学习系列(5):激活层介绍
参考:http://www.cnblogs.com/denny402/p/5072507.html 主要介绍了各个激活函数.
- (原创)用Receiver和SystemService监听网络状态,注册Receiver的两种方式
android中网络编程不可避免地要监听网络状态,wifi或者3G以及以太网,并根据当前状态做出相应决策. 在MyReceiver类中的onReceive方法中获得系统服务 ConnectivityM ...
- CentOS 7更换 安装源
centos 安转源更换 一:切换到目录 cd /etc/yum.repos.d二: [备份] mv CentOS-Base.repo CentOS-Base.repo.bak三 : [下载] wg ...
- 解决html5 video不能播放 能播放声音不能播放视频
<video id="playVideo" style="width:90%; height:auto;" controls poster=". ...
- discuzX3后台管理插件开发示例一 用户表查询
上次的入门已经介绍了后台管理插件开发的基本步骤,下面简单写一个示例查询一下用户表 需要已完成以下操作: 1.已创建test后台管理插件 //详见 http://www.cnblogs.com/savo ...
- 深度分析Linux下双网卡绑定七种模式 多网卡的7种bond模式原理
http://blog.csdn.net/abc_ii/article/details/9991845多网卡的7种bond模式原理 Linux网卡绑定mode共有七种(~) bond0.bond1.b ...