Created
January 21, 2010 10:19
-
-
Save dwiash/282710 to your computer and use it in GitHub Desktop.
jawaban dari salah satu soal pada CSPC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
[jawaban dari salah satu soal pada CSPC] | |
program ini menghitung setiap kemungkinan ketika sejumlah uang ditukarkan dengan pecahan 50ribu, 20ribu, 10ribu atau seribu. | |
Misalnya untuk nilai 15000, akan menghasilkan kemungkinan: | |
1 10ribuan, 5 seribuan | |
15 seribuan | |
cara menjalankan program ini: | |
java Main [nilai uang yang akan ditukar] | |
misal: | |
java Main 15000 | |
*/ | |
public class Main { | |
public static void main(String[] args) { | |
int jumlahAsal = Integer.parseInt(args[0]); | |
int per50, per20, per10, per1, i, j, k, l, u50, u20, u10, u1, jmlTambah, sisaTambah, sisa50, sisa20, sisa10, sisa1; | |
per50 = bagi(jumlahAsal, 50000); | |
per20 = bagi(jumlahAsal, 20000); | |
per10 = bagi(jumlahAsal, 10000); | |
per1 = bagi(jumlahAsal, 1000); | |
for(i=0; i<=per50; i++){ | |
for(j=0; j<=per20; j++){ | |
for(k=0; k<=per10; k++){ | |
for(l=0; l<=per1; l++){ | |
u50 = 50000 * i; | |
u20 = 20000 * j; | |
u10 = 10000 * k; | |
u1 = 1000 * l; | |
jmlTambah = u50+u20+u10+u1; | |
sisaTambah = jumlahAsal-jmlTambah; | |
sisa50 = bagi(sisaTambah, 50000); | |
sisa20 = bagi(sisaTambah, 20000); | |
sisa10 = bagi(sisaTambah, 10000); | |
sisa1 = bagi(sisaTambah, 1000); | |
if(jmlTambah<=jumlahAsal && sisa50==0 && sisa20==0 && sisa10==0 && sisa1==0){ | |
if(i!=0){ | |
System.out.print(i+" 50ribuan, "); | |
} | |
if(j!=0){ | |
System.out.print(j+" 20ribuan, "); | |
} | |
if(k!=0){ | |
System.out.print(k+" 10ribuan, "); | |
} | |
if(l!=0){ | |
System.out.print(l+" seribuan \n"); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
public static int bagi(int nilai, int pembagi){ | |
int hasil, sisa; | |
sisa = nilai % pembagi; | |
hasil = (nilai-sisa)/pembagi; | |
return hasil; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment