[2016ICPC 青岛网络预选赛] HDU 5878 筛表
来源:互联网 发布:硕鼠mac youtube 编辑:程序博客网 时间:2024/05/17 01:37
题意
找出大于n(<=1e9)的最小的只有2,3,5,7为质因数的数,可以不全有,但不能有别的质因数。
思路
N挺大不过2^30次方,所以所求的数的质因数分解,2357的个数都不会超过30。那么我们先打表找出2357构成的2*1e9以内的所有数,然后排序。没读入一个n找大于等于n的第一个数。
AC代码 C++
#include <stdio.h>#include <algorithm>using namespace std;#define MX 100005#define LIMIT 2000000000long long ar[MX];int main(){ int t, n, i, tl = 0; long long ans2 = 1, ans3, ans5, ans7; for (i = 0; i<30 && ans2<LIMIT; i++, ans2 *= 2) for (t = 0, ans3 = ans2; t<30 && ans3<LIMIT; t++, ans3 *= 3) for (ans5 = ans3; ans5<LIMIT; ans5 *= 5) for (ans7 = ans5; ans7<LIMIT; ans7 *= 7) ar[tl++] = ans7; sort(ar, ar + tl); scanf("%d", &t); while (t-- && scanf("%d", &n) > 0) printf("%I64d\n", *lower_bound(ar, ar + tl, n)); return 0;}
0 0
- [2016ICPC 青岛网络预选赛] HDU 5878 筛表
- [2016ICPC 青岛网络预选赛] HDU 5889 网络流
- [2016ICPC 青岛网络预选赛] HDU 5879 数列求和
- [2016ICPC 青岛网络预选赛] HDU 5881 构造
- HDU 5883 2016 ICPC青岛网络赛
- [2016ICPC 沈阳网络预选赛] HDU 5894 排列组合
- 2016 ICPC 青岛 网络赛
- hdu 5878 I Count Two Three 2016ACM/ICPC青岛赛区网络赛1001
- 2016 acm/icpc 青岛网络赛 题解(hdu 5878-5889,9道题)
- [2016ICPC 大连网络预选赛] HDU5874 构造
- [2016ICPC 大连网络预选赛] HDU5876 图论
- 2016ICPC青岛赛区网络赛 1001
- 2016ICPC青岛赛区网络赛 1002
- 2016ICPC青岛赛区网络赛 1004
- 2016ICPC青岛网络赛 1011
- 2016 ICPC 青岛网络赛 1005
- 2016ICPC青岛网络赛 1006
- 2016 ICPC 青岛网络赛题解
- jquery课堂练习题9月18 19日
- 示波器基础系列之三:关于示波器的触发功能(上篇)
- SSH三大框架之hibernate——提高效率的解决办法
- C#获取当前路径的7中方法
- C语言中文件的读取
- [2016ICPC 青岛网络预选赛] HDU 5878 筛表
- Android温习之路Day1:java基础1
- 使用 Flask 设计 RESTful 的认证
- Real-Time Rendering-第三章 The Graphics Processing Unit(2)
- 学习记录-QTableView自定义委托实现QCheckBox复选框
- 安卓四大组件之Receiver
- 从这里开始记录学习
- android应用开发学习笔记-BroadcastReceiver
- JVM学习笔记(一)——Java内存模型