输入两个整数x1,x2,输出x1/x2的小数部分的循环节
测试案例:
输入:
- 8 7
- 2 210
输出
- 0.(142857)
- 0.0(095238)
#include <stdio.h>
int main()
{
int a[1000], b[1000];//a表示余数*10,b表示商
int i = 0, j;//j为b中循环节的起始位,i为终止位
int c, d;//c为被除数,d为除数
bool flag;
scanf("%d %d", &c, &d);
a[0] = c;
while (1)
{
flag = false;
b[i] = a[i] / d;
a[i+1] = (a[i] - b[i] * d) * 10;
i++;
for (j = 0; j < i; j++)
{
if (a[i] == a[j])
{
flag = true;
break;
}
}
if (flag) break;
}
printf("0.");
for (int k = 1; k < i; k++)
{
if (k == j)
{
printf("(");
}
printf("%d", b[k]);
if (k == i - 1)
{
printf(")");
}
}
}