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:

  1. Muchas Gracias lo necesitaba para un proyecto

    ResponderEliminar
  2. 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.

    ResponderEliminar