235倍数 hdu1058加强版
来源:互联网 发布:云计算的基础是什么 编辑:程序博客网 时间:2024/04/30 01:44
求第N小的仅包含1 2 3 5质因子的数。
输入文件(Number.in)
第一行一个数 为数据组数
每组数据仅一个数N
输出文件(Number.out)
对于每组数据输出一个数 即答案
样例输入
10
1
2
3
4
5
6
7
8
9
10
样例输出
输入文件(Number.in)
第一行一个数 为数据组数
每组数据仅一个数N
输出文件(Number.out)
对于每组数据输出一个数 即答案
样例输入
10
1
2
3
4
5
6
7
8
9
10
样例输出
1
2
3
4
5
6
8
9
10
12
数据范围
对于30%的数据 N≤100 数据组数≤10
对于50%的数据 N≤10000 数据组数≤50
对于100%的数据 N≤100000 数据组数≤50
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#define mod 1000000using namespace std;int n,t;#define ll long longstruct bignumber{ int a[7],l;}save[110000];bool operator <(bignumber x,bignumber y){ int i; if(x.l!=y.l) return x.l<y.l; for(i=x.l;i;i--) if(x.a[i]!=y.a[i]) return x.a[i]<y.a[i]; return 1;}bool operator ==(bignumber x,bignumber y){ int i; if(x.l!=y.l) return 0; for(i=1;i<=x.l;i++) if(x.a[i]!=y.a[i]) return 0; return 1;}bignumber operator *(bignumber x,int y){ int i; for(i=1;i<=x.l;i++) x.a[i]*=y; for(i=1;i<=x.l;i++) { x.a[i+1]+=x.a[i]/mod; x.a[i]%=mod; } if(x.a[x.l+1]!=0) x.l++; return x;}int main(){ freopen("number.in","r",stdin); freopen("number.out","w",stdout); int i; ll n2=1,n3=1,n5=1; for(save[1].a[1]=save[1].l=1,i=2;i<=100001;i++) { save[i]=min(save[n2]*2,min(save[n3]*3,save[n5]*5)); if(save[i]==save[n2]*2) n2++; if(save[i]==save[n3]*3) n3++; if(save[i]==save[n5]*5) n5++; } scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%d",save[n].a[save[n].l]); for(i=save[n].l-1;i;i--) printf("%06d",save[n].a[i]); printf("\n"); } return 0;}
0 0
- 235倍数 hdu1058加强版
- hdu1058
- HDU1058
- hdu1058
- hdu1058
- hdu1058
- hdu1058
- HDU1058
- hdu1058
- HDU1058
- hdu1058
- HDU1058
- hdu1058 & hdu3199
- hdu1058 && hdu3199
- hdu1058 Humble Number
- HDU1058:Humble Numbers
- HDU1058 Humble Numbers
- HDU1058:Humble Numbers
- U盘安装 CentOS 7
- 随机取样算法
- struts2_5_struts中常量的配置
- C++实现CString和string的互相转换
- Web GIS访问ArcGIS安全认证服务代理配置解决方案-IIS版本
- 235倍数 hdu1058加强版
- oracle更新及实物处理
- Linux系统命令及其使用详解
- 统计单词出现的最多次数(Trie树)
- 获取程序路径的方法
- 使用libXML2编程
- Spring MVC 框架搭建及详解
- 客户反馈可vv控告v看过
- Linux 线路规程