Pessoal, eu não manjo de programação. Estou tentando fazer um programa em linguagem C que calcule quantos e quais números primos há entre 1 e um número que o usuário digitar. Pra fazer o programa rodar mais rápido, não quero incluir números pares nos laços de repetição. Não sei quais bibliotecas devo incluir.
Tentei compilar e executar o código abaixo no Dev-C++ 5.9.2 mas deu erro.
#include <stdio.h>
#include <stdlib.h>
main() {
int ultimo, dividendo, divisor, x, quantos;
/* a variável "ultimo" guardará o último número do intervalo a ser calculado e será uma escolha do usuário
a variável "x" contará quantas vezes os restos foram zero
a variável "quantos" contará quantos números primos há no intervalo */
printf(" Digite o ultimo numero do intervalo \n ");
scanf("%f", &ultimo);
printf(" Os numeros primos entre 1 e o numero que voce digitou sao: 1 \n ");
printf(" 2 \n ");
quantos = 0;
for (dividendo=3; dividendo<=ultimo; dividendo+2) {
/* para o programa calcular rapidamente quantos e quais são os números primos entre 1 e o número que o usuário digitou podemos deixar de verificar todos os números pares, pois sabemos que o único número par que é primo é o número 2, por isso o laço for acima começa em 3 e incrementa 2 a cada passada */
x = 0;
for (divisor=3; divisor<=ultimo; divisor+2) {
/* como sabemos que todos os números positivos são divisíveis por 1 e que nenhum número primo é múltiplo de número par exceto o 2, não há necessidade de dividir nenhum número por 1 nem por nenhum número par */
if ( dividendo % divisor==0 ) {
x = x+1;
if ( x==1 ) {
printf(dividendo, "\n");
quantos = quantos+1;
}
}
}
}
printf("\n Quantidade de numeros primos no intervalo: ", quantos);
}
Quem sabe o(s) erro(s)?