Given number of digit n and a number, the task is to count all the numbers which are divisible by that number and having n digit.
Examples :
Input : n = 2, number = 7
Output : 13
Explanation: There are nine n digit numbers that are divisible by 7. Numbers are 14, 21, 28, 35, 42, 49, …. 91, 98Input : n = 3, number = 7
Output : 128Input : n = 4, number = 4
Output : 2250
Native Approach: Traverse through all n digit numbers. For every number check for divisibility,
// Simple CPP program to count n digit // divisible numbers. #include <cmath> #include <iostream> using namespace std;
// Returns count of n digit numbers // divisible by 'number' int numberofterm( int n, int number)
{ // compute the first and last term
int firstnum = pow (10, n - 1);
int lastnum = pow (10, n);
// count total number of which having
// n digit and divisible by number
int count = 0;
for ( int i = firstnum; i < lastnum; i++)
if (i % number == 0)
count++;
return count;
} // Driver code int main()
{ int n = 3, num = 7;
cout << numberofterm(n, num) << "\n" ;
return 0;
} |
// Simple Java program to count n digit // divisible numbers. import java.io.*;
class GFG {
// Returns count of n digit numbers
// divisible by 'number'
static int numberofterm( int n, int number)
{
// compute the first and last term
int firstnum = ( int )Math.pow( 10 , n - 1 );
int lastnum = ( int )Math.pow( 10 , n);
// count total number of which having
// n digit and divisible by number
int count = 0 ;
for ( int i = firstnum; i < lastnum; i++)
if (i % number == 0 )
count++;
return count;
}
// Driver code
public static void main (String[] args)
{
int n = 3 , num = 7 ;
System.out.println(numberofterm(n, num));
}
} // This code is contributed by Ajit. |
# Simple Python 3 program to count n digit # divisible numbers import math
# Returns count of n digit # numbers divisible by number def numberofterm(n, number):
# compute the first and last term
firstnum = math. pow ( 10 , n - 1 )
lastnum = math. pow ( 10 , n)
# count total number of which having
# n digit and divisible by number
count = 0
for i in range ( int (firstnum), int (lastnum)):
if (i % number = = 0 ):
count + = 1
return count
# Driver code n = 3
num = 7
print (numberofterm(n, num))
# This article is contributed # by Smitha Dinesh Semwal |
// Simple C# program to count n digit // divisible numbers. using System;
class GFG
{ // Returns count of n digit numbers
// divisible by 'number'
static int numberofterm( int n, int number)
{
// compute the first and last term
int firstnum = ( int )Math.Pow(10, n - 1);
int lastnum = ( int )Math.Pow(10, n);
// count total number of which having
// n digit and divisible by number
int count = 0;
for ( int i = firstnum; i < lastnum; i++)
if (i % number == 0)
count++;
return count;
}
// Driver code
public static void Main ()
{
int n = 3, num = 7;
Console.Write(numberofterm(n, num));
}
} // This code is contributed by nitin mittal |
<?php // Simple php program to count n digit // divisible numbers. // Returns count of n digit numbers // divisible by 'number' function numberofterm( $n , $number )
{ // compute the first and last term
$firstnum = pow(10, $n - 1);
$lastnum = pow(10, $n );
// count total number of which having
// n digit and divisible by number
$count = 0;
for ( $i = $firstnum ; $i < $lastnum ; $i ++)
if ( $i % $number == 0)
$count ++;
return $count ;
} // Driver code
$n = 3;
$num = 7;
echo numberofterm( $n , $num );
// This code is contributed by mits ?> |
<script> // JavaScript program to count n digit // divisible numbers. // Returns count of n digit numbers // divisible by 'number'
function numberofterm(n, number)
{
// compute the first and last term
let firstnum = Math.pow(10, n - 1);
let lastnum = Math.pow(10, n);
// count total number of which having
// n digit and divisible by number
let count = 0;
for (let i = firstnum; i < lastnum; i++)
if (i % number == 0)
count++;
return count;
}
// Driver Code let n = 3, num = 7;
document.write(numberofterm(n, num));
// This code is contributed by code_hunt. </script> |
128
Time Complexity: O(10n), which is exponential and bad for bigger n’s.
Auxiliary Space: O(1)
Efficient Approach: Find the first and last terms divisible, then apply the below formula
Count of divisible = (lastnumber – firstnumber)/number + 1
// Efficient CPP program to count n digit // divisible numbers. #include <cmath> #include <iostream> using namespace std;
// find the number of term int numberofterm( int digit, int number)
{ // compute the first and last term
int firstnum = pow (10, digit - 1);
int lastnum = pow (10, digit);
// first number which is divisible by given number
firstnum = (firstnum - firstnum % number) + number;
// last number which is divisible by given number
lastnum = (lastnum - lastnum % number);
// Apply the formula here
return ((lastnum - firstnum) / number + 1);
} int main()
{ int n = 3;
int number = 7;
cout << numberofterm(n, number) << "\n" ;
return 0;
} |
// Efficient Java program to count n digit // divisible numbers. import java.io.*;
class GFG {
// find the number of term
static int numberofterm( int digit, int number)
{
// compute the first and last term
int firstnum = ( int )Math.pow( 10 , digit - 1 );
int lastnum = ( int )Math.pow( 10 , digit);
// first number which is divisible by given number
firstnum = (firstnum - firstnum % number) + number;
// last number which is divisible by given number
lastnum = (lastnum - lastnum % number);
// Apply the formula here
return ((lastnum - firstnum) / number + 1 );
}
// Driver code
public static void main (String[] args)
{
int n = 3 ;
int number = 7 ;
System.out.println(numberofterm(n, number));
}
} // This code is contributed by Ajit. |
# Efficient Python program to # count n digit divisible numbers. # Find the number of term def numberofterm(digit, number):
# compute the first and last term
firstnum = pow ( 10 , digit - 1 )
lastnum = pow ( 10 , digit)
# First number which is divisible by given number
firstnum = (firstnum - firstnum % number) + number
# last number which is divisible by given number
lastnum = (lastnum - lastnum % number)
# Apply the formula here
return ((lastnum - firstnum) / / number + 1 );
# Driver code n = 3 ; number = 7
print (numberofterm(n, number))
# This code is contributed by Ajit. |
// Efficient C# program to count n digit // divisible numbers. using System;
class GFG {
// find the number of term
static int numberofterm( int digit,
int number)
{
// compute the first and
// last term
int firstnum = ( int )Math.Pow(10,
digit - 1);
int lastnum = ( int )Math.Pow(10,
digit);
// first number which is divisible
// by given number
firstnum = (firstnum - firstnum
% number) + number;
// last number which is divisible
// by given number
lastnum = (lastnum - lastnum
% number);
// Apply the formula here
return ((lastnum - firstnum)
/ number + 1);
}
// Driver code
public static void Main ()
{
int n = 3;
int number = 7;
Console.WriteLine(
numberofterm(n, number));
}
} // This code is contributed by anuj_67. |
<?php // Efficient PHP program // to count n digit // divisible numbers. // find the number of term function numberofterm( $digit ,
$number )
{ // compute the first
// and last term
$firstnum = pow(10, $digit - 1);
$lastnum = pow(10, $digit );
// first number which is
// divisible by given number
$firstnum = ( $firstnum - $firstnum %
$number ) + $number ;
// last number which is
// divisible by given number
$lastnum = ( $lastnum - $lastnum %
$number );
// Apply the formula here
return (( $lastnum - $firstnum ) /
$number + 1);
} // Driver Code $n = 3;
$number = 7;
echo (numberofterm( $n , $number ));
// This code is contributed by // Manish Shaw(manishshaw1) ?> |
<script> // Efficient Javascript program to count n digit divisible numbers.
// find the number of term
function numberofterm(digit, number)
{
// compute the first and
// last term
let firstnum = Math.pow(10, digit - 1);
let lastnum = Math.pow(10, digit);
// first number which is divisible
// by given number
firstnum = (firstnum - firstnum % number) + number;
// last number which is divisible
// by given number
lastnum = (lastnum - lastnum % number);
// Apply the formula here
return ((lastnum - firstnum) / number + 1);
}
let n = 3;
let number = 7;
document.write(numberofterm(n, number));
// This code is contributed by divyeshrabadiya07.
</script> |
128
Time Complexity: O(log10n) as it is using inbuilt pow function
Auxiliary Space: O(1)