Title: Contagem de semi-primos para o algoritmo RSA
Course: Introdução à Ciência de Computação - 2016 > Section: 18 November - 25 November

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 que não são necessariamente distintos (n = p*q).

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

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

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 naturais que têm apenas dois divisores diferentes: o 1 e ele mesmo. Lembre-se que 1 não é primo.

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 do que 0 e i será sempre menor ou igual do que j. Cada linha no arquivo "input.txt" representa uma entrada para o programa.

Como saída, você deve imprimir três números separados por um espaço em branco. Os dois primeiros números serão o valor de i e j, enquanto o terceiro número será 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 | 1 25 9
50 100 | 50 100 17
101 200 | 101 200 28
200 300 | 200 300 32