gpt4 book ai didi

algorithm - 如何找到 1/N 的十进制表示的前 K 个数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:39:26 28 4
gpt4 key购买 nike

这是我遇到的一道面试题:找到 K 1/N 的十进制表示的第一位数字。看起来我们只需要计算 10^K/N 就可以解决这个问题。是否有意义 ?看起来我遗漏了什么,因为解决方案太简单了。

最佳答案

只实现小学长除法:

int value = 1;
bool outputDecimalSeparator = false;
int digitsOutput = 1;
while(digitsOutput <= k) {
if (value == 0) {
Console.Write(0);
}
else {
if (value < n) {
Console.Write(0);
value *= 10;
}
else {
Console.Write(value / n);
value %= n;
}
}
if (outputDecimalSeparator == false) {
outputDecimalSeparator = true;
Console.Write('.');
}
digitsOutput++;
}
Console.WriteLine();

分行 value == 0是检测何时1 / n具有小于 k 的终止表示数字。

在这里,n1 / n 中的分母和 k是要在 1 / n 的十进制表示中打印的位数.

请注意,通过更改 value *= 10value *= b您可以打印 1 / n 的二进制表示

关于algorithm - 如何找到 1/N 的十进制表示的前 K 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4694609/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com