POJ-1338 Ugly Numbers-被2,3,5整除的数/只包含因子2 3 5的数
来源:互联网 发布:查看caj格式文件软件 编辑:程序博客网 时间:2024/06/04 19:28
Ugly Numbers
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 21878 Accepted: 9772
Description
Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ...
shows the first 10 ugly numbers. By convention, 1 is included.
Given the integer n,write a program to find and print the n'th ugly number.
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ...
shows the first 10 ugly numbers. By convention, 1 is included.
Given the integer n,write a program to find and print the n'th ugly number.
Input
Each line of the input contains a postisive integer n (n <= 1500).Input is terminated by a line with n=0.
Output
For each line, output the n’th ugly number .:Don’t deal with the line with n=0.
Sample Input
1290
Sample Output
1210
Source
New Zealand 1990 Division I,UVA 136
#include <iostream>#include <cstring>#include <iomanip>#include <stdio.h>#include <cmath>#include <algorithm>using namespace std;int main(){ long long n=0,m,i,j,k,l=1000000000,a[100000];//数组不能开得太大不然容易越界 memset(a,0,sizeof(a)); a[0]=1; for(i=1; i<l; i*=2) for(j=1; i*j<l; j*=3) for(k=1; i*j*k<l; k*=5) { ++n; a[n]=i*j*k; } sort(a,a+n+1); while(cin>>m&&m!=0) { cout<<a[m]<<endl; } return 0;}
1010 只包含因子2 3 5的数
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。
所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。
例如:n = 13,S中 >= 13的最小的数是15,所以输出15。
Input
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)第2 - T + 1行:每行1个数N(1 <= N <= 10^18)
Output
共T行,每行1个数,输出>= n的最小的只包含因子2 3 5的数。
Input示例
518133577
Output示例
28153680
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <queue>#include <map>#include <set>#include <algorithm>//#define INF 0xfffffffusing namespace std;typedef long long ll;#define INF 1e18+100#define MAXN 1000000ll a[MAXN];int cnt = 0;void Init(){ cnt = 0; for(ll i=1; i<INF; i*=2) for(ll j=1; j*i<INF; j*=3) for(ll k=1; i*j*k<INF; k*=5) a[cnt++] = i*j*k;}int main(){#ifdef ONLINE_JUDGE#else freopen("G:/x/read.txt","r",stdin); freopen("G:/x/out.txt","w",stdout);#endif ios::sync_with_stdio(false); cin.tie(0); Init(); sort(a, a+cnt); int t; cin>>t; while(t--) { ll n; cin>>n; cout<<a[lower_bound(a+1,a+cnt+1,n)-a]<<endl; } return 0;}/**518133577**/
0 0
- POJ-1338 Ugly Numbers-被2,3,5整除的数/只包含因子2 3 5的数
- (DS1.5.8)POJ 1338 Ugly Numbers(寻找因子只含有2||3||5的数)
- 寻找丑数,把只包含因子2、3和5的数称作丑数(Ugly Number)
- 丑数,只包含因子2、3、5的数
- 51nod1010 只包含因子2 3 5的数
- 1010 只包含因子2 3 5的数
- 只包含因子2 3 5的数
- 问题 : 只包含因子2 3 5的数
- 只包含因子2 3 5的数
- 只包含因子2 3 5 的数----51Nod
- 1010 只包含因子2 3 5的数
- POJ 1338 Ugly Numbers(我的水题之路——丑数2,3,5,质因子组成数)
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。
- 1010 只包含因子2 3 5的数(丑数 二分)
- Poj 2247 Humble Numbers(求只能被2,3,5, 7 整除的数)
- (剑指offer)丑数,只包含因子2、3和5的数称作丑数
- 51nod 1010 只包含因子2 3 5的数 (打表+二分)
- 1010 只包含因子2 3 5的数(打表+二分)
- hdu 3068 最长回文
- oralce无法删除用户ORA-01940 无法删除连接用户
- 几篇关于Thread与AsyncTask的解析文章
- python 读写csv格式文件
- MATLAB中如何直接曲线拟合,而不使用cftool的GUI界面
- POJ-1338 Ugly Numbers-被2,3,5整除的数/只包含因子2 3 5的数
- hdu 5358 First One(二进制+twopoint)
- 枚举需要的注意事项
- SQL语句必会的50题
- POJ-1552 Doubles-二倍关系
- Docker初识
- 【CODEFORCES】 B. Towers
- C++(11)标准I/O库
- 第一次多线程使用