package BucleFor;

import java.util.Scanner;

public class EjerciciosBucleFor {
	static Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		ejercicio1_10();
	}

	public static void ejercicio1_1() {
		System.out.println("1.1 Escribe un algoritmo que imprima por pantalla los números del 0 al 10");
		for (int i = 0; i <= 10; i++) {
			System.out.println("Número : " + i);
		}

	}

	public static void ejercicio1_2() {

		System.out.println("1.2. Escribe un algoritmo que imprima por pantalla los números del 1 al 100");
		for (int i = 1; i <= 100; i++) {
			System.out.println("El número es : " + i);
		}
	}

	public static void ejercicio1_3() {

		System.out.println(
				"1.3. Escribe un algoritmo que imprima por pantalla los números del 75 al 0 orden decreciente");
		for (int i = 75; i >= 0; i--) {
			System.out.println("El número es : " + i);
		}
	}

	public static void ejercicio1_4() {

		System.out.println(
				"1.4. Escribe un algoritmo que imprima por pantalla los números pares del 0 al 1.000 (no está permitido el uso de condicionales).");
		for (int i = 0; i <= 1000; i += 2) {

			System.out.println("El número es : " + i);
		}
	}

	public static void ejercicio1_5() {
		int finalsumatorio = 0;
		System.out.println(
				"1.4. Escribe un algoritmo que realice la suma de los 100 primeros números : (Ejemplo 0, 1 => (0+1), 2 => (1+2), 3 => (1+2+3) …)");
		for (int i = 0; i <= 100; i++) {
			finalsumatorio += i;
		}
		System.out.println("La suma de los primeros 100 números es: " + finalsumatorio);

	}

	public static void ejercicio1_6() {
		System.out.println("Escribe un algoritmo que muestre por pantalla el número de impares entre 0 y 540");

		for (int i = 1; i <= 540; i += 2) {
			System.out.println(i);
		}

	}

	public static void ejercicio1_7() {
		System.out.println(
				"1.6. Escribe un algoritmo que solicite un número, e imprima por pantalla la tabla de multiplicar de ese número");
		System.out.println("Solicite un número");
		int numeroqueelijaelpapadelospapas = sc.nextInt();
		for (int i = 1; i <= 20; i++) {
			int resultado = numeroqueelijaelpapadelospapas * i;
			System.out.println(numeroqueelijaelpapadelospapas + " x " + i + " = " + resultado);

		}
	}

	public static void ejercicio1_8() {

		System.out.println(
				"1.8. Escribe un algoritmo que solicite un número, calcule la factorial (n!) y muestreel resultado al final del bucle. (La factorial de un número es ese númeromultiplicado por sus anteriores => [5! = 5*4*3*2*1])");
		System.out.print("Ingrese un número para calcular su factorial: ");
		int numero = sc.nextInt();
		int factorial = 1;
		for (int i = 1; i <= numero; i++) {
			factorial = factorial * i;
		}
		System.out.println("El factorial de " + numero + " es: " + factorial);
		// Video de apoyo para entenderlo
		// https://www.youtube.com/watch?v=gCmI2100yZ4
	}

	public static void ejercicio1_9() {
		System.out.println(
				"1.9. Escribe un algoritmo que imprime un conjunto de números del [100,-100] conun decremento de 20.");
		for (int i = 100; i >= -100; i -= 20) {
			System.out.println(i);
		}
	}

	public static void ejercicio1_10() {
		System.out.println(
				"1.10 Diseña un algoritmo que determine si un número N es primo (un número primo sólo puede ser divisible por él mismo y por 1).");
		Scanner sc = new Scanner(System.in);
		System.out.print("Introduzca un número :");// Pongo print normal para que sea en la misma línea
		int numero = sc.nextInt();

		boolean esPrimo = true; // Asumo al principio que es primo

		if (numero <= 1) { // NO tiene sentido que si es menor a 1 sea primo, no tiene sentido porque sería
							// negativo
			esPrimo = false;
		} else {

			for (int i = 2; i < numero; i++) { // Porque voy sumandole hasta llegar al número y si no llega hasta ese
												// punto es primo
				// supuestamente
				if (numero % i == 0) {
					esPrimo = false; // Si es divisible, no es primo
				}
			}
		}

		// Mostramos el resultado
		if (esPrimo) { // Asume que el resultado es primo
			System.out.println(numero + " es un número primo.");
		} else {
			System.out.println(numero + " no es un número primo.");
		}

	}
}
