【51nod-1010】因子只含有2 3 5的数
Input
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)
第2 - T + 1行:每行1个数N(1 <= N <= 10^18)
Output
共T行,每行1个数,输出>= n的最小的只包含因子2 3 5的数。
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
map<LL, bool>M;
LL a[];
int main()
{
int t, l = ;
LL s = ;
for(LL i = ; i <= 1e18; i = i*)
for(LL j = ; j*i <= 1e18; j = j*)
for(LL k = ; i*j*k <= 1e18; k = k*)
{
if(!M[i*j*k] && i*j*k != )
{
M[i*j*k] = ;
a[l++] = i*j*k;
}
}
sort(a, a+l);
cin>>t;
LL n;
while(t--)
{
scanf("%lld", &n);
int pos = lower_bound(a, a+l, n) - a;
printf("%lld\n", a[pos]);
}
return ;
}
代码2:bfs
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=; LL a[N] , b[N*];
queue<LL> q;
map<LL , bool> m;
int main()
{
LL n = 1e18;
q.push();
m[]= ; int k = ;
while (!q.empty())
{
LL x = q.front();
a[k ++] = x;
q.pop();
if (x*<=n && !m[x*]) q.push(x*) , m[x*] = ;
if (x*<=n && !m[x*]) q.push(x*) , m[x*] = ;
if (x*<=n && !m[x*]) q.push(x*) , m[x*] = ;
}
sort(a, a+k);
int cas;
scanf("%d", &cas);
while (cas -- )
{
LL y;
scanf("%lld", &y);
int id = lower_bound(a, a+k, y) - a;
printf("%lld\n", a[id]);
}
return ;
}
【51nod-1010】因子只含有2 3 5的数的更多相关文章
- 51Nod 1010 只包含因子2 3 5的数 | 预处理+二分
Input示例 5 1 8 13 35 77 Output示例 2 8 15 36 80 分析:将所有的只含有2 3 5因子的数打一个表保存在一个数组里,然后二分查找第一个>=数组里的数,输出 ...
- 51nod 1010 只包含因子2 3 5的数 && poj - 1338 Ugly Numbers(打表)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 http://poj.org/problem?id=1338 首先 ...
- 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n
35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...
- 任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0。
题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0. 解法一:暴力求解.从1开始查找M,然后判断M*N=X这个数字是否只含有0,1. 解法二:由 ...
- 一个正则表达式,只含有汉字、数字、字母、下划线,下划线位置不限【Z】
1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: ^ 与字符串开始的地方匹配 ( ...
- 【USACO 3.1】Humble Numbers(给定质因子组成的第n大的数)
题意:给你k(≤100)个质数,求质因子只包含它们的第n大的数. 题解: 方法一:维护一个数组,一开始只有给出的质数在里面,用每个质数去乘以数组中每个数,然后归并排序,长度保留到n,一轮接一轮,直到乘 ...
- 51nod 1010 只包含因子2 3 5的数 打表
只包含因子2 3 5的数 题目连接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 Description K的 ...
- 51nod 1010 只包含因子2 3 5的数 二分答案
1010 只包含因子2 3 5的数 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 > ...
- 51Nod 1010 只包含因子2 3 5的数 Label:None
K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = ...
随机推荐
- VS插件神器 ReShaper入门
@简介: 1,Resharper提供以下6个核心功能,分别是: (1). 代码分析(Code Analysis):智能提示代码中存在的问题和修复建议. (2). 编码助手(Coding Assista ...
- lightGallery 一个视屏不播放 解决方法
这次使用了lightGallery,感觉还不错.样式比较美观,并且支持响应式. 使用过程中,我遇到了下面的问题: 当我 .picsgallery里面只有一个 .gItem的时候.点击弹出幻灯片,再点击 ...
- Storm概念讲解,工作原理
一.storm是一个用于实时流式计算的分布式计算引擎,弥补了Hadoop在实时计算方面的不足(Hadoop在本质上是一个批处理系统). 二.storm在实际应用场景中的位置一般如下: 其中的编号1~5 ...
- Js 将 Date 转化为指定格式的String
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...
- GIT使用—提交的查找与变更
一.查找提交 (1)git bisect(二分搜索法) 基于任意搜索条件查找特定的错误提交.在排查某个提交版本导致的错误时非常有用. [root@localhost public_html]# git ...
- hadoop hdfs设置quota
quota分为两种: 1. 目录下的文件数限制 2. 目录下的空间大小 //设置文件数 hdfs dfsadmin -setQuota 1000000 /user/jenkin //设置空间大小 hd ...
- 自动配置@Resource与@Autowired
总结自:https://www.cnblogs.com/kuotian/p/8795812.html 试用情形:bean的某个成员变量是另一个bean 如果使用配置: <bean id=&quo ...
- Hive表的修改Alter
1.查看创建表的信息 [show create table] hive> show create table student; OK createtab_stmt CREATE TABLE `s ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- 如何设置hyper-v下的ubuntu虚拟机分辨率
1.登陆ubuntu虚拟机 2.vi /etc/default/grub,改变如下内容: 改变前: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ...