#include <iostream>
#include <string.h>
#include <map>
using namespace std;
int fen[3000];
int yu[3000];
int main()
{
int a, b, c;
while (cin >> a >> b)
{
memset(yu, 0, sizeof(int) * (b + 10));
c = a % b;
int i = 0, j = 0;
while (true)
{
if (!yu[c])
{
yu[c]++;
c *= 10;
fen[i++] = c / b;
c %= b;
}
else if (yu[c] == 1)
{
yu[c]++;
j++;
c = c * 10 % b;
}
else
break;
}
cout << a << "/" << b << " = " << a / b << ".";
for (int ii = 0; ii < i - j; ii++)
cout << fen[ii];
cout << "(";
for (int jj = i - j; jj < i; jj++)
{
cout << fen[jj];
if (jj >= 49)
{
cout << "...";
break;
}
}
cout << ")" << endl;
cout << " " << j << " = number of digits in repeating cycle" << endl;
cout << endl;
}
return 0;
}
UVa202 - Repeating Decimals
最新推荐文章于 2024-09-27 11:26:03 发布