hdu 1058 Humble Numbers
2013-10-03 14:53
253 查看
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058
只需要前5842个满足条件的数,打好一张表。
只需要前5842个满足条件的数,打好一张表。
#include<stdio.h> int num[6000]; int min(int a,int b,int c,int d) { int i,j; if(a<b) i=a; else i=b; if(c<d) j=c; else j=d; return i>j?j:i; } int main() { int n,i; int a1,a2,a3,a4,e1,e2,e3,e4; a1=a2=a3=a4=1; num[1]=1; //相当于四个队列,但每次只用一个队列的数字 for(i=2;i<=5842;i++) { e1=num[a1]*2; e2=num[a2]*3; e3=num[a3]*5; e4=num[a4]*7; num[i]=min(e1,e2,e3,e4); if(num[i]==e1) a1++; if(num[i]==e2) a2++; if(num[i]==e3) a3++; if(num[i]==e4) a4++; } while(scanf("%d",&n)&&n) { printf("The %d",n); if(n<10) { if(n==1) printf("st"); else if(n==2) printf("nd"); else if(n==3) printf("rd"); else printf("th"); } else { if(n%10==1&&n%100!=11) printf("st"); else if(n%10==2&&n%100!=12) printf("nd"); else if(n%10==3&&n%100!=13) printf("rd"); else printf("th"); } printf(" humble number is %d.\n",num ); } return 0; }
相关文章推荐
- hdu 1058 Humble Numbers
- hdu 1058:Humble Numbers(动态规划 DP)
- 【HDU】1058 - Humble Numbers(dp)
- hdu 1058 Humble Numbers【丑数】
- HDU 1058 Humble Numbers
- HDU 1058 Humble Numbers
- 【DP】HDU-1058 Humble Numbers
- hdu1058 Humble Numbers(丑数) —— dp
- hdu 1058 Humble Numbers
- hdu 1058 Humble Numbers
- hdu 1058 Humble Numbers (动态规划)
- HDU 1058(Humble Numbers)动态规划
- zoj 1095 || hdu 1058 Humble Numbers( DP || 乱搞)
- hdu 1058 Humble Numbers(dp)
- HDU 1058 Humble Numbers(打表+暴力)
- HDU 1058 Humble Numbers
- hdu 1058 Humble Numbers
- hdu1058 Humble Numbers--DP
- HDU 1058 Humble Numbers
- HDU-1058 Humble Numbers 暴力 Or 动态规划