Tip to be Palindrome

https://ac.nowcoder.com/acm/contest/12794/C

题意:

一个人每次吃饭都要付20%的小费,并且小费和花钱的和需要是回文数,不够就继续往上加

思路:

用ceil函数进行上取整,之后不断向上累加,直到成为回文数,输出答案

#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;

bool check(int x)
{
    int n=x,ans=0;
    while(n)
    {
        ans=ans*10+n%10;
        n/=10;
    }
    if(ans==x)
        return true;
    else
        return false;
}

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int tmp,tips;
        cin>>tmp;
        tips=(int )ceil(tmp*0.2);
        while(!check(tmp+tips))
        {
            tips++;
        }
        printf("Input cost: %d\n",tmp);
        printf("%d %d\n",tips,tmp+tips);
        cout<<'\n';

    }
    return 0;
}

  

 

posted @ 2021-03-15 18:55  BlackSnow  阅读(54)  评论(0)    收藏  举报