Hola buenas soy estudiante de java y se me han planteado dos problemas que realmente no me salen y llevo ya dandole muchas vueltas a la cabeza si me pudierais ayudar os lo agradecería.
Os cuento:
Estos son los problemas:
31)Mostar el primer número primo a partir del 30.
32)Introduce una cantidad de dinero en euros menor que 100, indica la forma de
pagar es dinero con el menor número de billetes y monedas.
Con el 31 parece que hay que usar dos for y que cuando uno sea primo salga del bucle pero no consiguo salir
Con el 32 se me ocurre de momento lo básico incluir variables para 1 euro 2 euros 5 euros etc...
y decir que si la cantidad es igual a 50 por ejemplo pagar con 50 pero lo dificil es cuando es por ejemplo 32 euros le tengo que decir que use uno de 20 uno de 10 y una moneda de 2.
Lo cual no se ni por donde agarrarlo
De momento es todo sin usar clases ni métodos a pelo en main asi que no usamos en clase eso de momento ruego que no me digais de usar clases y demás por que voy a acabar mas liado con las clases y tal que con el problema.
Un saludo
os paso los intentos de solucion a los que he llegado:
31
Código:
package ejercicios_refuerzo;
public class E_31_B_3
{
public static void main (String args[])
{
int suma;
boolean contador=true;
for (int f=30;;f++)
{
if (suma==0)
{
System.out.println(f);
break;
}
for (int i=2;;i++)
{
suma=0;
if (f%i==0)
suma++;
if (suma==1)
break;
}
}
}
}
32
Código:
package ejercicios_refuerzo;
import java.util.Scanner;
public class E_32_B_3
{
public static void main (String args[])
{
int num,uno=1,dos=2,cinco=5,diez=10,veinte=20,cincu=50,total=0;
Scanner escribe= new Scanner(System.in);
System.out.println("Escribe menor de 100");
num=escribe.nextInt();
if (num==50)
System.out.println(cincu);
if (num==5)
System.out.println(cinco);
if (num==10)
System.out.println(diez);
if (num==20)
System.out.println(veinte);
if (num<5)
{
for (int f=1;num>=f;f++)
{
total+=dos;
if (total>5)
{
break;
}
}
System.out.println(total);
}
if (num<10)
{
}
}
}
Un saludo gracias de antemano