#include"stdio.h"
#include"string.h"
#include"stdlib.h"
void solve(int p[])
{
int i;
if(p[10]>=2)
p[9]++;
else
return;
for(i=9;i>=0;i--)
{
if(p[i]>=3)
{
p[i]=0;
p[i-1]++;
}
else
break;
}
}
int main()
{
int x,y,i;
char a;
int p[15];
while(scanf("%d%c%d",&x,&a,&y)!=EOF)
{
for(i=0;i<11;i++)
{
p[i]=3*x/y;
x=(3*x)%y;
}
solve(p);
printf(".");
for(i=0;i<10;i++)
printf("%d",p[i]);
printf("\n");
}
}
这个题是以水题名义放上去的,但是呢,关于精度这个问题我想不通,查了一下答案,是在后一位为2的时候要进位,这是不是就是精度的原理啊?希望某个大神看见后能给我解答,或者说是以后某一天我彻底搞懂了自己来回答吧,这个题我是这样做的,每次呢要是需要补位的时候十进制是在后面加0,也就是乘以十,当然三进制乘以三就ok啦,哈哈哈,放代码了,精度问题疑问慢慢看,昨天写了四道题哦,虽然都是水题,而且题也不是很多,但对我来说已经很不容易了