首页 > 代码库 > poj 3307 Smart Sister 打表解因子生成数问题
poj 3307 Smart Sister 打表解因子生成数问题
题意:
给i,求由仅以2,3,5,7为因子的数中第i个是多少。
分析:
打表。
代码:
//poj 3307 //sep9 #include <iostream> using namespace std; typedef unsigned __int64 INT; const int maxL=66062; INT a[maxL+10]; INT min4(INT a,INT b,INT c,INT d) { return min(min(a,b),min(c,d)); } int main() { int p1,p2,p3,p4,i; a[1]=1; p1=p2=p3=p4=1; for(i=2;i<=maxL;++i){ INT t=min4(a[p1]*2,a[p2]*3,a[p3]*5,a[p4]*7); a[i]=t; if(t==a[p1]*2) ++p1; if(t==a[p2]*3) ++p2; if(t==a[p3]*5) ++p3; if(t==a[p4]*7) ++p4; } int cases; scanf("%d",&cases); while(cases--){ int i; scanf("%d",&i); printf("%I64u\n",a[i]); } return 0; }
poj 3307 Smart Sister 打表解因子生成数问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。