two test cases are failing out of nine please correct me
Finding CB number
your logic is wrong.
- 0 and 1 are not a CB number.
- 2,3,5,7,11,13,17,19,23,29 are CB numbers.
- 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