Java: Count the numbers without digit 7, from 1 to a given number
Java Math Exercises: Exercise-18 with Solution
Write a Java program to count numbers without 7 from 1 to a given number.
Sample Solution:
Java Code:
import java.util.*;
class solution {
static int count_nums_not_7(int num)
{
if (num < 7)
return num;
if (num >= 7 && num < 10)
return num-1;
int r = 1;
while (num/r > 9)
r = r*10;
int m = num/r;
if (m != 7)
return count_nums_not_7(m)*count_nums_not_7(r - 1) + count_nums_not_7(m) + count_nums_not_7(num%r);
else
return count_nums_not_7(m*r - 1);
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Input a number: ");
int num = scan.nextInt();
if (num>0)
System.out.println("Count the numbers without digit 7, from 1 to "+num+": "+count_nums_not_7(num));
}
}
Sample Output:
Input a number: 15 Count the numbers without digit 7, from 1 to 15: 14
Flowchart:
Java Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Java program to calculate and print average of the stream of given numbers.
Next: Write a Java program to generate a magic square of order n.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/java-exercises/math/java-math-exercise-18.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics