domingo, 30 de noviembre de 2014

Números Primos en Java

Hola, a continuación les comparto un código en Java acerca de como generar los números primos entre el 1 y el limite que ustedes lo ingresen por teclado.

/*Numero primo, aquel numero entero que tiene unicamente dos divisores positivos: El mismo numero y el 1
 * en otras palabras es el numero que es divisible para si mismo y para la unidad.
 * Los numeros primos del 1 al 10 son : 1 2 3 5 7 */

package numerosprimos;
import java.util.Scanner;
public class NumerosPrimos {

    public static void main(String[] args) {
        //Declaracion de un objeto sc para ingresar datos
        Scanner sc = new Scanner(System.in);
        //Declaracion de variables
        int lim;
        //Ingreso de datos
        System.out.println("Ingrese el límite");
        lim = sc.nextInt();
        // Dos bucles For que evaluan al numero
        for (int i = 1; i < lim; i++) {
            boolean esNumPri = true;
            // Evalua si el número es primo
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    esNumPri = false;
                    break; // Finaliza el bucle
                }
            }
            // Imprime el número si es primo
            if (esNumPri=true) {
                System.out.println(i + " ");
            }
        }
    }
}

Sucesión de Fibonacci en Java

Hola, a continuación les comparto un código optimizado en Java de como generar la Sucesión (mal llamada serie) de Fibonacci:

/*Sucesion de Fibonacci es la sucesion infinita de numeros naturales
 * en donde la sucesion comienza en 1 y 1 y a partir de estos se genera el
 * siguiente termino que viene a ser
 * la suma de los 2 anteriores: 1 1 2 3 5
*/
package fibonacci;
import java.util.Scanner;

public class Fibonacci {

    public static void main(String[] args) {
        //Creacion de un objeto sc para ingresar datos
        Scanner sc = new Scanner(System.in);
        //Declaracion de variables
        int ant, sig, sum, lim;
        //Inicializacion de las variables
        ant = sig = 1;
        System.out.println("Ingrese el limite");
        lim = sc.nextInt();
        for (int i = 1; i <= lim; i++) {
            System.out.println(ant);
            sum = ant + sig;
            ant = sig;
            sig = sum;
        }
    }
}

Saludos.