Buenos dias a todos, espero que esten bien
Tengo un problema con lo que he programado. El ejercicio me pide que el usuario ingrese un numero y se debe verificar todos los numeros, desde el 1 hasta el ingresado, si son par/impar compuesto/primo.
El error es que al compilar me dice que el 9 es impar y PRIMO, cosa de que el 9 es divisible por 1,3y9 lo cual seria un numero compuesto.
#include <stdlib.h>
#include <stdio.h>
int main()
{
int n,i,k,cont=0;
printf("Ingrese un numero:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(i%2==0)
{
if(i==2)
{
printf("El numero 2 es par y primo\n");
}
else
{
printf("El numero %d es par y compuesto\n",i);
}
}
else
{
if(i==1)
{
printf("El numero 1 es impar\n");
}
else
{
for(k=2;k<i;k++)
{
if(i%k==0)
{
cont++;
}
}
if(cont>2)
{
printf("El numero %d es impar y compuesto\n",i);
}
else
{
printf("El numero %d es impar y primo\n",i);
}
}
}
}
}
Creo que el error deberia estar en el ultimo for que utilize, cuando empieza el analisis de los impares.
GRACIAS DE ANTEMANO