2021年度训练联盟热身训练赛第二场 C.Tip to be Palindrome

Tip to be Palindrome

题目链接:https://ac.nowcoder.com/acm/contest/12794/C

题目描述

One of the cool UCF CS alumni is Dr. Greg, The Palindrome Tipper. A palindrome is a string
that reads the same forward and backward, e.g., madam, abba, 3, 44, 525.
One cool thing about Dr. Greg is that he leaves at least 20% tip when he eats out, e.g., if the meal is 30, Dr. Greg leaves 30, Dr. Greg leaves 6 (30*.20) for tip. If the tip (20%) is not a whole dollar amount, he rounds up the tip to make it a whole number. For example, if the meal is 12, a 20% tip would be12,a202.40 (12*0.20) but Dr. Greg would leave $3 for tip.
Another cool thing about Dr. Greg is that he is a palindrome guru. If his total bill (meal plus tip) is not a palindrome, he will increase the total (by adding to the tip) to make the total a palindrome. He will, of course, add the minimum needed to make the total a palindrome.
The Problem:
Given Dr. Greg’s meal cost, your program should determine the tip amount for him (according to his rules) and the total bill.

输入描述:

The first input line contains a positive integer, n, indicating the number of times Dr. Greg ate out. The meal costs are on the following n input lines, one per line. Each input will contain an integer between 5 and 10000 (inclusive).

输出描述:

At the beginning of each test case, output “Input cost: c” where c is the input cost. Then, on the next output line, print the tip amount and the total bill, separated by one space. Leave a blank line after the output for each test case.

示例1

输入
2
12
84
输出
Input cost: 12
10 22

Input cost: 84
17 101

题目大意:

小费=(消费*0.2),求消费和小费的总和=比消费大的最小回文数。

代码如下:

#include<iostream>
#include<string>
using namespace std;

bool judge(int t){
    
    
	int x=0;
	int y=t;
	while(t){
    
    
		x=x*10+t%10;
		t/=10;	
	}
	return x==y;
}

int main(){
    
    
	int T;
	scanf("%d",&T);
	while(T--){
    
    
		int n;
		scanf("%d",&n);
		int cnt = n;
		if(n%5==0)
			n+=n/5;
		else
			n+=n/5+1;
		while(!judge(n)){
    
    
			n++;
		}
		printf("Input cost: %d\n%d %d\n",cnt,n-cnt,n);
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45894701/article/details/114852149