#1551. 珅泽教育CSP-J第一轮模拟考第三套 第 35 题
珅泽教育CSP-J第一轮模拟考第三套 第 35 题
第三题
#include<iostream>
int mem[2000000] = {0};
int q[2000000] = {0};
int main()
{
int r, b;
std::cin >> r >> b;
int step = 0;
while (r != 0) {
step++;
if (mem[r] > 0) {
break;
}
else {
mem[r] = step;
}
q[step] = r * 2 / b;
r = r * 2 % b;
}
std::cout << "0.";
if (r == 0) {
for (int i = 1; i <= step; ++i) std::cout << q[i];
}
else {
int begin = mem[r];
for (int i = 1; i < begin; ++i)
std::cout << q[i];
std::cout << "(";
for (int i = begin; i < step; ++i)
std::cout << q[i];
std::cout << ")";
}
}
该程序的时间复杂度为( )。
{{ select(1) }}