FisherKK edited 3 年前
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int N, m, n;
set<int> Si;
vector<int> Vi;
vector<int> Vmod;
void solve();
int main() {
cin >> N;
for (int i = 0; i < N; i++) {
cout << "case #" << i << ":\n";
solve();
}
}
void solve() {
Si.clear(); Vi.clear(); Vmod.clear();
cin >> m >> n; m *= 10;
int cir;
Si.insert(m / 10); Vmod.push_back(m / 10);
bool flag = true;
while (true) {
int num = m / n, mod = m % n;
Vi.push_back(num);
if (Si.count(mod)) {
flag = false; cir = mod;
//if (num != Vi.back()) Vi.push_back(num);
break;
}
else { Vmod.push_back(mod); Si.insert(mod);}
if (!mod) break;
m = mod * 10;
}
cout << "0.";
if (flag) {
for (int x : Vi) cout << x;
} else {
int j;
for (int i = 0; i < Vi.size(); i++) {
if (Vmod[i] == cir) { j = i;}
cout << Vi[i];
}
cout << endl << j + 1 << '-' << Vi.size();
}
cout << endl;
}