Description
Input
Output
Sample Input
1 2 9 0
Sample Output
1 2 10
================================================================
代码:
#include<iostream> using namespace std; int num[1501]; int min(int a,int b,int c) { if(c>a) c=a; if(c>b) c=b; return c; } void getNumList() { int i,j,k; int n; for(n=1;n<=5;++n) num[n]=n; for(i=3,j=2,k=2;n<=1500;++n) { num[n]=min(num[i]*2,num[j]*3,num[k]*5); while(num[i]*2<=num[n]) ++i; while(num[j]*3<=num[n]) ++j; while(num[k]*5<=num[n]) ++k; } } int main() { getNumList(); int n; while(cin>>n && n) { cout<<num[n]<<endl; } return 0; }
================================================================
PS:貌似不是什么难题,但是WA好几次居然将num[k]*5写成num[k]*4了,囧...