Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = sc.next();
int c = 0;
boolean[] v = new boolean[s.length()];
for(int i=0;i<s.length();i++) {
for(int j=i+1;j<=s.length();j++) {
String ss = s.substring(i,j);
if(isCB(Long.valueOf(ss))&&isValid(v,i,j)) {
c++;
for(int k=i;k<j;k++) {
v[k]=true;
}
}
}
}
System.out.println©;
}
public static boolean isCB(long n) {
if(n==0||n==1) {
return false;
}
long[] a = {2,3,5,7,11,13,17,19,23,29};
for(int i=0;i<a.length;i++) {
if(n==a[i]) {
return true;
}
}
for(int i=0;i<a.length;i++) {
if(n%a[i]==0) {
return false;
}
}
return true;
}
public static boolean isValid(boolean[] a,int s,int e) {
for(int i=s;i<e;i++) {
if(a[i]) {
return false;
}
}
return true;
3 test cases not passing after applying your solution
also Try for this Input:
8
86922395
correct output : 4