相关疑难解决方法(0)

如何知道分数中的重复小数?

我已经知道一个分数是重复小数.这是功能.

public bool IsRepeatingDecimal
{
    get
    {
        if (Numerator % Denominator == 0)
            return false;

        var primes = MathAlgorithms.Primes(Denominator);

        foreach (int n in primes)
        {
            if (n != 2 && n != 5)
                return true;
        }

        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我正试图获得重复的数字.我正在查看这个网站:http://en.wikipedia.org/wiki/Repeating_decimal

public decimal RepeatingDecimal()
{
    if (!IsRepeatingDecimal) throw new InvalidOperationException("The fraction is not producing repeating decimals");

    int digitsToTake;
    switch (Denominator)
    {
        case 3:
        case 9: digitsToTake = 1; break;
        case 11: digitsToTake = 2; break;
        case 13: …
Run Code Online (Sandbox Code Playgroud)

c# algorithm class

12
推荐指数
2
解决办法
8230
查看次数

检测重复小数的算法?

是否有算法来计算以下内容?

  1. 如果除法的结果是重复的十进制(二进制).
  2. 如果它重复,那么重复开始的是什么数字(表示为2的幂)?
  3. 什么数字重复?

一些例子:

1/2 = 1/10 = 0.1 // 1 = false, 2 = N/A, 3 = N/A, 4 = N/A
1/3 = 1/11 = 0.010101... // 1 = true, 2 = -2, 3 = 10
2/3 = 10/11 = 0.101010... // 1 = true, 2 = -1, 3 = 10
4/3 = 100/11 = 1.010101... // 1 = true, 2 = 0, 3 = 10
1/5 = 1/101 = 0.001100110011... // 1 = true, 2 = -3, …
Run Code Online (Sandbox Code Playgroud)

algorithm rational-numbers

10
推荐指数
4
解决办法
1万
查看次数

标签 统计

algorithm ×2

c# ×1

class ×1

rational-numbers ×1