Finding CB number

two test cases are failing out of nine please correct me

your logic is wrong.

  1. 0 and 1 are not a CB number.
  2. 2,3,5,7,11,13,17,19,23,29 are CB numbers.
  3. Any number not divisible by the numbers in point 2( Given above) are also CB numbers.
    You are checking all prime numbers
    Ex- In 4991 , both 499 and 991 are CB numbers but you can choose either 499 or 991 , not both.
    99 is common in both 499 and 991

As to work on substrings of the given number, we will capture the element into the String instead of integer .
The number ā€˜n’ given is nothing to do with our approach(as we are working on String) but can be useful acoording to your approach.

Intuition :

Put loop on string that will give substring of every length.
create a function that will return true if the passed number is a CB number otherwise return false.
To put a check if the digit is already a part of the any other CB number, create an boolean array say, valid which store which digits till now has been a part of any other CB number.
Take a counter and increment if a CB number is found.
At the end print the count.


you can see this