ZOJ 2781


#include<iostream>
#include<math.h>
using namespace std;

 


int main()
{
    long n;
    cin>>n;
    while(n--)
    {
        long num;
        cin>>num;
        if(num<=10)
            cout<<num<<endl;
        else
        {
            long temp;
            temp=num;
            int len=0;
            while(temp!=0)
            {
                len++;
                temp/=10;
            }
            long ans=0;
            ans=num/pow(10,len-1);

            bool flag=0;
            int templen;
            int tempnum=num-ans*pow(10,len-1);
            templen=len-1;
            temp=tempnum/pow(10,templen-1);
            while(4==temp && templen>=1)
            {
                
                tempnum=tempnum-temp*pow(10,templen-1);
                templen--;
                temp=tempnum/pow(10,templen-1);                
                if(temp>4)
                {
                    flag=1;
                    break;
                }
                else if(temp<4)
                    break;
            }
            if(temp>4)
                flag=1;

            cout<<(ans+flag)*(long)pow(10,len-1)<<endl;
        }
    }

    return 0;
}

 

你可能感兴趣的:(ZOJ)