jueves, 4 de agosto de 2011

Números Primos

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ENUNCIADO PROBLEMA
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Introducir un número entero positivo mayor que cero por teclado e indicar si es primo.

Un número primo es aquel que solo es divisible entre si mismo y uno.

Ej:
3 divisible solo entre 3 y 1 -> es primo.
4 divisible entre 4, 2 y 1 -> no es primo.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PSEUDOCÓDIGO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

INICIO
VALOR_ORIGINAL = 0; INDICE = 0; CONTADOR = 0;

MOSTRAR "Dame un valor y te diré si es primo: "
LEER VALOR_ORIGINAL

INDICE = VALOR_ORIGINAL

MIENTRAS INDICE > 0
    SI RESTO (VALOR_ORIGINAL / INDICE)  = 0 CONTADOR = CONTADOR + 1
    INDICE = INDICE -1
FIN MIENTRAS

SI CONTADOR > 2
    MOSTRAR "EL NUMERO NO ES PRIMO"
SINO
    MOSTRAR "EL NUMERO ES PRIMO"
FINSI

FIN


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SOLUCIÓN EN LENGUAJE C
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int dato_teclado = 0, contador = 2, primo = 0;

    printf("Indicame un  numero e direiche se e primo: \n");
    scanf("%d", &dato_teclado);

    while (contador < dato_teclado - 1)
    {
        if ((dato_teclado % contador) == 0) primo++;
        contador++;
    }

    if (primo) printf("\nO numero non era primo.");
    else printf("\nO numero SI que e primo.");

    return 0;
}

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...