CUMTOJ 1085 problemブスC++

12400 ワード

テーマは1つの数の素因子が2,3,5あるいは7しか含まれていない場合を説明して、私たちはこの数を丑数と言います.シーケンス1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27…は上位20個の醜数を示した.このシーケンスのn番目の要素をプログラミングしてください.入力入力には、複数のテストデータが含まれます.各グループの入力は整数n(1<=n<=5842)であり、n=0で入力は終了する.出力は各入力セットについて、「The nth humble number is number.」という行を出力します.中のnは入力中のn値に置き換えられ、「st」、「nd」、「rd」、「th」といった序数の末尾の用法は出力サンプルを参照する.サンプル入力1 2 3 4 11 13 13 21 22 100 1000 5842 0サンプル出力The 1 st humble number is 1.The 2nd humble number is 2. The 3rd humble number is 3. The 4th humble number is 4. The 11th humble number is 12. The 12th humble number is 14. The 13th humble number is 15. The 21st humble number is 28. The 22nd humble number is 30. The 23rd humble number is 32. The 100th humble number is 450. The 1000th humble number is 385875. The 5842nd humble number is 2000000000.
#include
using namespace std;
int min(int a,int b,int c,int d)//min      abcd   ,       a,  a 
{
    if(a>b)a=b;
    if(a>c)a=c;
    if(a>d)a=d;
    return a; 
}
int main()
{
    int choushu[5900];
    int a2=1,a3=1,a5=1,a7=1;
    choushu[1]=1;
    for(int i=2;i<5900;i++)
    {
        choushu[i]=min(choushu[a2]*2,choushu[a3]*3,choushu[a5]*5,choushu[a7]*7);//       choushu[i]=min(a2*2,a3*3,a5*5,a7*7);  
        if(choushu[i]==choushu[a2]*2)a2++;//       if(choushu[i]==a2*3)a2++; 
        if(choushu[i]==choushu[a3]*3)a3++;//       if(choushu[i]==a3*3)a3++; 
        if(choushu[i]==choushu[a5]*5)a5++;//       if(choushu[i]==a5*5)a5++; 
        if(choushu[i]==choushu[a7]*7)a7++;//       if(choushu[i]==a7*7)a7++; 
    }
    int n;
    while(cin>>n&&n>0)
    {
        if(n%10==1&&n%100!=11) cout<<"The "<<n<<"st humble number is "<<choushu[n]<<'.'<<endl;
        else if(n%10==2&&n%100!=12) cout<<"The "<<n<<"nd humble number is "<<choushu[n]<<'.'<<endl;
        else if(n%10==3&&n%100!=13) cout<<"The "<<n<<"rd humble number is "<<choushu[n]<<'.'<<endl;
        else cout<<"The "<<n<<"th humble number is "<<choushu[n]<<'.'<<endl;
    }
    return 0;
}


  18   
  :Redcarp
  :https://www.jianshu.com/p/263cfe3af625
  :  
        。             ,          。