CF--B. Food Buying

B. Food Buying

Description

Mishka wants to buy some food in the nearby shop. Initially, he has s burles on his card.

Mishka can perform the following operation any number of times (possibly, zero): choose some positive integer number 1≤x≤s, buy food that costs exactly x burles and obtain ⌊x10⌋ burles as a cashback (in other words, Mishka spends x burles and obtains ⌊x10⌋ back). The operation ⌊ab⌋ means a divided by b rounded down.

It is guaranteed that you can always buy some food that costs x for any possible value of x.

Your task is to say the maximum number of burles Mishka can spend if he buys food optimally.

For example, if Mishka has s=19 burles then the maximum number of burles he can spend is 21. Firstly, he can spend x=10 burles, obtain 1 burle as a cashback. Now he has s=10 burles, so can spend x=10 burles, obtain 1 burle as a cashback and spend it too.

You have to answer t independent test cases.

input

The first line of the input contains one integer t (1≤t≤104) — the number of test cases.

The next t lines describe test cases. Each test case is given on a separate line and consists of one integer s (1≤s≤109) — the number of burles Mishka initially has.

output

For each test case print the answer on it — the maximum number of burles Mishka can spend if he buys food optimally.

Example
input
6
1
10
19
9876
12345
1000000000

output
1
11
21
10973
13716
1111111111

扫描二维码关注公众号,回复: 9580380 查看本文章

题意:去买东西,然后用10元就回扣1元,问能买多少钱的东西。
思路:暴力-10+1的话要超时,减法变除法做,我们知道每次用10元都能回扣1元,于是我们就除9就可以了,但要注意的是9的倍数是要少一块钱的,比如说9,只能买到9元的东西,18,27。。。也如此。
传送门:http://codeforces.com/contest/1296/problem/B

AC代码:

#include<iostream>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		if(n%9)	cout<<n+n/9<<endl;
		else	cout<<n+n/9-1<<endl;
	}
	return 0;
}
发布了39 篇原创文章 · 获赞 1 · 访问量 576

猜你喜欢

转载自blog.csdn.net/qq_45249273/article/details/104193474
今日推荐