Na ile sposobów można zapłacić złotówkę?
Problem do przeanalizowania: Pewna woda w sklepie kosztuje 1zł. Oblicz na ile sposobów można za nią zapłacić gotówką – bez wydawania reszty.
package pl.am.analizy.problem1;
import java.util.Scanner;
public class Pieniadze {
public static void main(String[] args) {
System.out.println("Podaj kwotę w groszach (max 500 groszy)");
Scanner scanner = new Scanner(System.in);
int kwota = scanner.nextInt();
int iloscSposobow = 0;
for (int i500=0; i500<=kwota/500; i500++) {
for (int i200=0; i200<=kwota/200; i200++) {
System.out.println("ilość dwójek: " + i200);
for (int i100=0; i100<=kwota/100; i100++) {
System.out.println(" ilość złotówek: " + i100);
for (int i50 =0; i50<=kwota/50; i50++) {
for (int i20=0; i20<=kwota/20; i20++) {
for (int i10=0; i10<=kwota/10; i10++) {
for (int i5 = 0; i5 <= kwota/5; i5++) {
for (int i2 = 0; i2 <= kwota/2; i2++) {
for (int i1 = 0; i1 <= kwota; i1++) {
int iloscGroszy = i1 + i2*2 + i5*5 + i10*10 + i20*20 + i50*50 + i100*100 + i200*200 + i500*500;
if (iloscGroszy == kwota) {
iloscSposobow++;
//System.out.println("ilosc jednogroszowek: " + i1 +", ilosc dwugroszówek: " + i2 + ", ilosc pięciogroszówek: " + i5);
}
}
}
}
}
}
}
}
}
}
System.out.println("iloscSposobow = " + iloscSposobow);
}
}
package pl.am.analizy.problem1;
public class Tabelka {
public static void main(String[] args) {
for (int i5 = 0; i5 <= 20; i5++) {
System.out.println("Tabelka dla " + i5 + " pięciogroszówek");
for (int i2 = 0; i2 <= 50; i2++) {
for (int i1 = 0; i1 <= 100; i1++) {
int iloscGroszy = i1 + i2*2 + i5*5;
System.out.printf("%4d", iloscGroszy);
}
System.out.println();
}
System.out.println();
}
}
}