Title: Contagem de semi-primos para o algoritmo RSA
Course: SSC0600 - Introdução à Ciência de Computação I > Section: Estruturas de Repetição e Vetores

Problema:

Parte do algoritmo de criptografia de chave pública RSA consiste em calcular um número semi-primo n, o qual é o produto de dois números primos p e q.

n = p*q

Escreva um programa que, dado o intervalo de números inteiros i e j, determine a contagem de números semi-primos existentes em um intervalo de inteiros i e j (i e j são incluídos neste intervalo).  Por exemplo, dados os valores i=50 e j=100, o resultado será 17 devido a que os números semi-primos no intervalo de 50 até 100 são:

51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95

Entrada e Saída:

A entrada será constituído por dois números inteiros i e j separados por um espaço em branco. Todos os inteiros serão números positivos maiores que 1 e i será sempre menor ou igual a j. Como saída, você deve imprimir a quantidade de semi-primos no intervalo [i, j]. Veja abaixo alguns exemplos de entrada/saída:

Exemplos de entrada | Saída para os exemplos de entrada
1 25 | 9
50 100 | 17
101 200 | 28
200 300 | 32

Dicas:

- O operador de resto em C é %, assim para calcular o resto de um número x entre 2 na variável resto deve ser escrita a linha:resto = x % 2;
- Números primos são os números que têm apenas dois divisores: 1 e ele mesmo. Lembre-se que 1 não é primo.