Ayuda, programa sencillo en C
Publicado por NOU| (2 intervenciones) el 17/09/2006 21:36:52
Buenas Necesito ayuda con un programa sencillo en C. El programa tiene que hacer lo siguiente: 1. Pida al usuario un número, 2. Que responda si el número es primo o no, 3. Que utilice 0 para salir.
Debo utilizar un ciclo While y la prueba para determinar si el número es primo es comprobar que no es divisible por todos los enteros mayores que 1, hasta el entero menor o igual que la raíz cuadrada del número.
Voy a poner el seudocódigo y lo que he hecho hasta el momento, que por cierto me da un error y no logro saber que es exactamente.
Seudocódigo
Archivos include
Funcion Void main( ){
Definir las variables
While(1){
Pedir un n{umero entero e indicar que si se digita 0 el programa terminara
Leer un número entero
Si el número es 0 ejecute la instrucci{on Break;
Inicialice la variable i=2;
Suponga que el número es primo
While( i es menor que la raíz cuadrada del número){
Si el módulo del numero respecto a i es 0 no es primo y salir(break)
Incremente en 1 la variable i
}
Imprima el número y el mensaje de si es o no primo
}
}
Lo que he hecho
int n,x,i,y;
{
While(1)
{
If (n==0)
break;
i==2;
x==sqrt(n);
y==n%i;
i++;
If (i<x && y!=0)
printf("El %d es un número primo\n",n);
else
printf("El %d no es un número primo\n",n);
}
}
}
SI ALGUIEN PUEDE AYUDARME SE LOS AGRADECERÍA MUCHO.
Debo utilizar un ciclo While y la prueba para determinar si el número es primo es comprobar que no es divisible por todos los enteros mayores que 1, hasta el entero menor o igual que la raíz cuadrada del número.
Voy a poner el seudocódigo y lo que he hecho hasta el momento, que por cierto me da un error y no logro saber que es exactamente.
Seudocódigo
Archivos include
Funcion Void main( ){
Definir las variables
While(1){
Pedir un n{umero entero e indicar que si se digita 0 el programa terminara
Leer un número entero
Si el número es 0 ejecute la instrucci{on Break;
Inicialice la variable i=2;
Suponga que el número es primo
While( i es menor que la raíz cuadrada del número){
Si el módulo del numero respecto a i es 0 no es primo y salir(break)
Incremente en 1 la variable i
}
Imprima el número y el mensaje de si es o no primo
}
}
Lo que he hecho
int n,x,i,y;
{
While(1)
{
If (n==0)
break;
i==2;
x==sqrt(n);
y==n%i;
i++;
If (i<x && y!=0)
printf("El %d es un número primo\n",n);
else
printf("El %d no es un número primo\n",n);
}
}
}
SI ALGUIEN PUEDE AYUDARME SE LOS AGRADECERÍA MUCHO.
Valora esta pregunta


0