我的任务是在分数 (a/b) 的小数点后找到第 k 个位置的数字。昨天我发现了这个算法。
为了获得小数点后的任何数字,我生成一个名为 rem 的变量并进行循环
for (int i = 1; i <= k+1; i++)
{
rem = a%b;
a = rem*10;
}
cout << a/b;
Run Code Online (Sandbox Code Playgroud)
循环将返回一个值,该值是小数点后的第 k 位数字。
但是任务要求我计算 a,b,k 是非常大的数字(小于或等于 10e18),所以代码肯定会超过时间限制。