贝壳找房每个月都会计算各个城市房价的均价,计算的最后一步为:
将一个形如 X.Y 的小数,用特殊近似法近似到整数。
计算完成后会将这个均价展示在首页供用户参考。
特殊近似法定义为:从最右边开始四舍五入到整数为止。
比如 4.445->4.45->4.5⇒5 。
输入格式
第一行一个整数 T,表示数据组数。
每组数据中,第一行一个形如 X.Y的小数。
保证0≤X≤1018,1≤∣Y∣≤1000,T≤10000。
输出格式
T行,每行一个整数,表示需要展示的均价。
样例输入
2 4.445 3.005
样例输出
5 3
#include<iostream>
#include<cstdio>
#include<cstring>
/*
由于小数位最多就+1然后向前补位,所以如果最左边的是<4的数就不可能变成了5从而使整数部分进位,
如果是4的话(要自身+1)就要保证后面的出现了>4的数,所以continue;
如果先遍历到的是>4的数就直接整数进位;
如1.23456789->1.2346->1.235->1.234 ->1
234567部分进行从左到右的遍历,如果出现了<4的数就退出,add=0;
如果有遇到==4的继续,如果后面还有>4的则左边的4就会变成5,add=1;
*/
using namespace std;
int main()
{
unsigned long long x;
char a[1050];
int len,add,i,count;
cin>>count;
while(count--)
{
add=0;
scanf("%llu.%s",&x,a);
len=strlen(a);
for(i=0;i<len;i++)
{
if(a[i]<'4')
break;
else if(a[i]=='4')
continue;
else
{
add=1;break;
}
}
printf("%llu\n",x+add);
}
return 0;
}