其他分享
首页 > 其他分享> > c-将分数转换为字符串,并插入[]以重复部分

c-将分数转换为字符串,并插入[]以重复部分

作者:互联网

面试题:

给定两个整数N(分子)和D(分母),返回字符串中的分数.如果分数重复,则将重复部分显示在括号中.

例:
输入:N = 1,D = 3
输出:0.[3]

例:
输入:N = 2,D = 5
产量:0.4

我的点子:

得到一个= N / D的双精度值.

对于小数点后的部分,将每个数字乘以x 10
在此过程中,如果发现重复,则记录索引并最后插入[].

对于小数点前的部分,将每个数字乘以/ 10

还有更好的主意吗?

谢谢

解决方法:

我会避免使用像瘟疫这样的双重病.由于精度有限,它不会给您正确的答案.坚持整数算法并模拟long division,跟踪其余部分.在分子中的数字用完后(因此您要调零),还应保留余数的历史记录,如果您看到历史记录中已有余数,则表明您已命中重复序列.然后,您可以构造带括号的输出部件. (当然,如果余数为零,则意味着答案是终止分数.)

标签:c-3,fractions,c,string,algorithm
来源: https://codeday.me/bug/20191013/1910832.html