给定范围l – r(含),计算可被其所有非零数字整除的数字。
例子:
Input : 1 9
Output : 9
Explanation:
all the numbers are divisible by
their digits in the range 1-9.
Input : 10 20
Output : 5
Explanation:
10, 11, 12, 15, 20
方法:
1.运行循环以生成l和r中的每个数字。
2.检查该数字的每个非零数字是否除以该数字。
3.保留所有可被其数字完全整除的数字的计数。
4.打印数字计数。
下面是上述方法的实现:
C++
// C++ program to
// Count numbers in
// range L-R that are
// divisible by
// all of its non-zero
// digits
#include
using namespace std;
// check if the number is
// divisible by the digits.
bool check(int n)
{
int m = n;
while (n) {
int r = n % 10;
if (r > 0)
if ((m % r) != 0)
return false;
n /= 10;
}
return true;
}
// function to calculate the
// number of numbers
int count(int l, int r)
{
int ans = 0;
for (int i = l; i <= r; i++)
if (check(i))
ans += 1;
return ans;
}
// Driver function
int main()
{
int l = 10, r = 20;
cout << count(l, r);
return 0;
}
Java
// Java program to Count
// numbers in range L-R
// that are divisible by
// all of its non-zero
// digits
import java.io.*;
class GFG {
// check if the number
// is divisible by the
// digits.
static boolean check(int n)
{
int m = n;
while (n != 0)
{
int r = n % 10;
if (r > 0)
if ((m % r) != 0)
return false;
n /= 10;
}
return true;
}
// function to calculate
// the number of numbers
static int count(int l, int r)
{
int ans = 0;
for (int i = l; i <= r; i++)
if (check(i))
ans += 1;
return ans;
}
// Driver function
public static void main(String args[])
{
int l = 10, r = 20;
System.out.println(count(10, 20));
}
}
// This code is contributed by Nikita Tiwari.
Python3
# Python 3 program
# to Count numbers in
# range L-R that are
# divisible by all of
# its non-zero digits
# check if the number is
# divisible by the digits.
def check(n) :
m = n
while (n != 0) :
r = n % 10
if (r > 0) :
if ((m % r) != 0) :
return False
n = n // 10
return True
# function to calculate the
# number of numbers
def count(l, r) :
ans = 0
for i in range(l, r+1) :
if (check(i)) :
ans = ans + 1
return ans
# Driver function
l = 10
r = 20
print(count(l, r))
# This code is contributed by Nikita Tiwari.
C#
// Java program to Count
// numbers in range L-R
// that are divisible by
// all of its non-zero
// digits
using System;
class GFG {
// check if the number
// is divisible by the
// digits.
static bool check(int n)
{
int m = n;
while (n != 0)
{
int r = n % 10;
if (r > 0)
if ((m % r) != 0)
return false;
n /= 10;
}
return true;
}
// function to calculate
// the number of numbers
static int count(int l, int r)
{
int ans = 0;
for (int i = l; i <= r; i++)
if (check(i))
ans += 1;
return ans;
}
// Driver function
public static void Main()
{
int l = 10, r = 20;
Console.WriteLine(count(l, r));
}
}
// This code is contributed by Vt_m.
PHP
0)
if (($m % $r) != 0)
return false;
$n /= 10;
}
return true;
}
// function to calculate the
// number of numbers
function countIn($l, $r)
{
$ans = 0;
for ($i = $l; $i <= $r; $i++)
if (check($i))
$ans += 1;
return $ans;
}
// Driver function
$l = 10; $r = 20;
echo countIn($l, $r);
// This code is contributed ajit
?>
Javascript
输出:
5