Pages

martes, 29 de enero de 2013

Números primos en un rango dado código en C

Problema
Realizar un programa que muestre los números primos que hay en un rango dado, el programa debe permitir al usuario ingresar por teclado el limite inferior y superior del rango. Por ejemplo:
Entrada:
Limite inferior: 10
Limite superior: 50
Salida:
11 13 17 19 23 29 31 37 41 43 47

Solución:
Codigo Fuente en C
#include <stdio.h>
#define true 1
#define false 0
typedef char bool;

bool esPrimo(int n);

int main()
{
    int i,a,b;
    printf("Calcula los numeros primos en un rango dado\n");
    printf("Limite inferior: ");
    scanf("%d",&a);
    printf("Limite superior: ");
    scanf("%d",&b);
    printf("\n=> ");
    while(a>0 && a<=b){
        if(esPrimo(a))
            printf("%d ",a);
        a++;
    }
    system("PAUSE");
    return 0;
}

bool esPrimo(int n){
    int i;
    if(n == 2)
        return true;
    if(n%2 == 0 || n==1 )
        return false;
    for(i=2; i<=n/2; i++){
        if(n%i == 0)
            return false;
    }
    return true;
}

3 comentarios:

Anónimo dijo...

Muchas Gracias lo necesitaba para un proyecto

VIP-KARTEN dijo...

hola un favor, no he podido sacar el codigo con el siguiente ejercicio

Realice un programa que genere los números dentro de un rango e intervalo dado por el usuario, y determine de ellos la cantidad de números pares, impares y primos.

Naturalkiller_hd dijo...

Lo hiciste en aplicación de consola?

Publicar un comentario