计算整数中的孔数
给定一个整数num ,任务是计算该数字中的孔数。每个数字中的孔如下所示:Digit Number of Holes 0 1 1 0 2 0 3 0 4 1 5 0 6 1 7 0 8 2 9 1
例子:
Input: num = 6457819
Output: 5
Input: num = 2537312
Output: 0
方法:用给定的值初始化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