jueves, 4 de agosto de 2011

Listar primos del 10000 al 1 con funciones

Este código es equivalente al del post anterior (http://pai-torneiros.blogspot.com/2011/08/listar-primos-del-10000-al-1-sin.html), pero realiza el proceso dividiendo el problema den dos funciones, una que comprueba si el número es primo y la función main que ejecuta el bucle para todos los valores.



#include <stdio.h>
#include <stdlib.h>

int vaf_e_primo (int posible_primo)
{
    int contador = 1, e_primo = 0, primo = 0;

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

    if (primo > 1) e_primo = 0;
    else e_primo = 1;

    return e_primo;
}

int main()
{
    /*    Listar números primos entre 1 y 10.000     */

    int dato_teclado = 10000, contador = 2, primo = 0;

    while (dato_teclado >= 1)
    {
        primo = vaf_e_primo (dato_teclado);
        if (primo) printf("%d\t", dato_teclado);
        dato_teclado--;
    }

    return 0;
}

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...