📜  在两个数字的适当分数中找到第N个数字

📅  最后修改于: 2021-04-27 20:52:31             🧑  作者: Mango

给定三个整数PQN ,其中P ,任务是计算P / Q的分数值,并找到小数点后的N数字。

例子

方法:初始化一个整数变量res ,该变量存储结果的第N个数字。现在,当N> 0时,请执行以下操作:

  1. N1
  2. 要计算数字,请更新值P = P * 10
  3. 计算res = P / Q并更新P = P%Q

最后,打印分辨率。

下面是上述方法的实现:

C++
// C++ implementation of the approach
#include 
using namespace std;
  
// Function to print the Nth digit
// in the fraction (p / q)
int findNthDigit(int p, int q, int N)
{
    // To store the resultant digit
    int res;
  
    // While N > 0 compute the Nth digit
    // by dividing p and q and store the
    // result into variable res
    // and go to next digit
    while (N > 0) {
        N--;
        p *= 10;
        res = p / q;
        p %= q;
    }
    return res;
}
  
// Driver code
int main()
{
    int p = 1, q = 2, N = 1;
  
    cout << findNthDigit(p, q, N);
  
    return 0;
}


Java
// Java implementation of the approach
class GFG
{
  
    // Function to print the Nth digit 
    // in the fraction (p / q) 
    static int findNthDigit(int p, 
                            int q, int N) 
    { 
        // To store the resultant digit 
        int res = 0; 
      
        // While N > 0 compute the Nth digit 
        // by dividing p and q and store the 
        // result into variable res 
        // and go to next digit 
        while (N > 0) 
        { 
            N--; 
            p *= 10; 
            res = p / q; 
            p %= q; 
        } 
        return res; 
    } 
      
    // Driver code 
    public static void main(String args[]) 
    { 
        int p = 1, q = 2, N = 1; 
      
        System.out.println(findNthDigit(p, q, N)); 
    } 
}
  
// This code is contributed by AnkitRai01


Python3
# Python3 implementation of the approach 
  
# Function to print the Nth digit 
# in the fraction (p / q) 
def findNthDigit(p, q, N) : 
  
    # While N > 0 compute the Nth digit 
    # by dividing p and q and store the 
    # result into variable res 
    # and go to next digit 
    while (N > 0) :
        N -= 1; 
        p *= 10; 
        res = p // q; 
        p %= q; 
  
    return res; 
  
# Driver code 
if __name__ == "__main__" :
      
    p = 1; q = 2; N = 1;
    print(findNthDigit(p, q, N)); 
  
# This code is contributed by kanugargng


C#
// C# implementation of the approach
using System;
  
class GFG
{
  
    // Function to print the Nth digit 
    // in the fraction (p / q) 
    static int findNthDigit(int p, int q, int N) 
    { 
        // To store the resultant digit 
        int res = 0; 
      
        // While N > 0 compute the Nth digit 
        // by dividing p and q and store the 
        // result into variable res 
        // and go to next digit 
        while (N > 0) 
        { 
            N--; 
            p *= 10; 
            res = p / q; 
            p %= q; 
        } 
        return res; 
    } 
      
    // Driver code 
    public static void Main() 
    { 
        int p = 1, q = 2, N = 1; 
      
        Console.WriteLine(findNthDigit(p, q, N)); 
    } 
}
  
// This code is contributed by AnkitRai01


输出:
5