Olá boa tarde para todos, estou com um problema em meu algoritmo que é esse:
Um número inteiro positivo é dito semiprimo se ele é igual ao produto de
dois (e apenas dois) números primos. Por exemplo, 15 é semiprimo pois 15
= 3 x 5; 9 é semiprimo pois 9 = 3 x 3; 20 não é semiprimo pois 20 = 2 x
10 e 10 não é primo. Escreva um programa que receba um valor informado
por um usuário, e imprima “semiprimo” caso o valor seja semiprimo, e
imprima “nao semiprimo” caso o valor não seja semiprimo.
Fiz esse codigo mas não consigo fazer ele me retornar qdo o numero digitado não é semiprimo, qdo é ele me retonar, alguém poderia me ajudar e me dizer onde estou errando. segue o codigo:
public class SemiPrimos {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = 0;
int cont = 0;
System.out.println("Digite um numero inteiro");
num = input.nextInt();
for(int i=2; i<=num; i++){
if((num%i)==0){
cont++;
System.out.println("O numero é semiprimo");
}
else
for(int j=2;j<num;j++)
if((num*j)==0){
cont++;
System.out.println("O numero não é primo");
}
}
}
}