📜  计算整数中的孔数

📅  最后修改于: 2022-05-13 01:57:58.723000             🧑  作者: Mango

计算整数中的孔数

给定一个整数num ,任务是计算该数字中的孔数。每个数字中的孔如下所示:

DigitNumber of Holes
01
10
20
30
41
50
61
70
82
91

例子:

方法:用给定的值初始化holes = 0和一个数组hole[] ,其中hole[i]存储数字i中的孔数。现在,对于num updateholes =holes + hole[d]中的每个数字d 。最后打印
下面是上述方法的实现:

C++
// C++ implementation of the approach
#include 
using namespace std;
 
// Global array for hole values
int hole[] = { 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 };
 
// Function to return the count
// of holes in num
int countHoles(int num)
{
    int holes = 0;
 
    while (num > 0) {
 
        // Last digit in num
        int d = num % 10;
 
        // Update holes
        holes += hole[d];
 
        // Remove last digit
        num /= 10;
    }
 
    // Return the count of holes
    // in the original num
    return holes;
}
 
// Driver code
int main()
{
    int num = 6457819;
 
    cout << countHoles(num);
 
    return 0;
}


Java
// Java implementation of the approach
import java.io.*;
 
class GFG
{
 
// Global array for hole values
static int hole[] = { 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 };
 
// Function to return the count
// of holes in num
static int countHoles(int num)
{
    int holes = 0;
 
    while (num > 0)
    {
 
        // Last digit in num
        int d = num % 10;
 
        // Update holes
        holes += hole[d];
 
        // Remove last digit
        num /= 10;
    }
 
    // Return the count of holes
    // in the original num
    return holes;
}
 
// Driver code
public static void main (String[] args)
{
    int num = 6457819;
    System.out.println(countHoles(num));
}
}
 
// This code is contributed by
// shk


Python3
# Python3 implementation of the approach
 
# Global array for hole values
hole = [ 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 ]
 
# Function to return the count
# of holes in num
def countHoles(num):
 
    holes = 0
 
    while (num > 0) :
     
        # Last digit in num
        d = num % 10
 
        # Update holes
        holes = holes + hole[d]
 
        # Remove last digit
        num = num // 10
     
    # Return the count of holes
    # in the original num
    return holes
     
# Driver code
num = 6457819
print(countHoles(num))
 
# This code is contributed by ihritik


C#
// C# implementation of the approach
using System;
 
class GFG
{
     
    // Global array for hole values
    static int []hole = { 1, 0, 0, 0, 1, 0, 1, 0, 2, 1 };
     
    // Function to return the count
    // of holes in num
    static int countHoles(int num)
    {
        int holes = 0;
     
        while (num > 0)
        {
     
            // Last digit in num
            int d = num % 10;
     
            // Update holes
            holes += hole[d];
     
            // Remove last digit
            num /= 10;
        }
     
        // Return the count of holes
        // in the original num
        return holes;
    }
     
    // Driver code
    public static void Main()
    {
        int num = 6457819;
        Console.WriteLine(countHoles(num));
    }
}
 
// This code is contributed by Ryuga


PHP
 0)
    {
 
        // Last digit in num
        $d = $num % 10;
 
        // Update holes
        $holes += $hole[$d];
 
        // Remove last digit
        $num =  (int)($num / 10);
    }
 
    // Return the count of holes
    // in the original num
    return $holes;
}
 
// Driver code
$num = 6457819;
 
echo countHoles($num);
 
// This code is contributed
// by Akanksha Rai
?>


Javascript


输出:
5