-
Notifications
You must be signed in to change notification settings - Fork 37
Description
1. vɪˈdʒɛsɪməl
Masyarakat Suku Maya memiliki sistem penomoran dengan basis 20 atau lebih
dikenal sebagai Vigesimal. Vigesimal direpresentasikan oleh angka 0 - 9 dan
huruf A - J dimana A - J adalah 10 - 19.
Buatlah sebuah program dengan method sebagai berikut
-
char[] toVigesimal(int n): Mengkonversi bilangan berbasis 10 ke basis 20Input Ouptput 20 10 10 A 38 1I 90 4A -
void table(): Mencetak table perkalian vigesimal dengan format berikutDimana setiap elemennya didapatkan dengan memanfaatkan method
toVigesimalYang dicetak adalah
4-I1, bagian luar (1 - J) hanya sebagai panduanPada dasarnya yang dicetak adalah table perkalian 2 - 19, namun setiap hasil
perkaliannya dikonversi ke vigesimal
2. BigInt
Tipe data integar pada bahasa pemrograman umumnya memiliki kapasitas 32-bit
signed atau 2^32 - 1 atau sebesar 2147483647, sehingga 2147483647 + 1 pada tipe
data integer akan menghasilkan hasil yang keliru berdasarkan aritmatika
penjumlahan.
Bahasa pemrograman Java menyediakan class java.math.BigInteger untuk
melakukan operasi aritmatika terhadap angka yang terlalu besar untuk tipe data
integer.
Buatlah sebuh program dengan method sebagai berikut
-
int[] add(int[] a, int[] b): Menjumlahkan 2 buah angka besar, dimana angka
tersebut direpresentasikan sebagai array e.g. 2147483647 direpresentasikan
sebagai{2, 1, 4, 7, 4, 8, 3, 6, 4, 7}.Contoh:
-
add({2, 1, 4, 7, 4, 8, 3, 6, 4, 7}, {1})
mengembalikan{2, 1, 4, 7, 4, 8, 3, 6, 4, 8} -
add({2, 1, 4, 7, 4, 8, 3, 6, 4, 7}, {2, 1, 4, 7, 4, 8, 3, 6, 4, 7})
mengembalikan{4, 2, 9, 4, 9, 6, 7, 2, 9, 4}
-
-
char[] humanFormat(int[] nums): Menkonversi array integer kedalam human
readable format yang dipisahkan oleh dot(.)Contoh:
humanFormat({2, 1, 4, 7, 4, 8, 3, 6, 4, 8})
mengembalikan{'4', '.', '2', '9', '4', '.', '9', '6', '7', '.', '2', '9', '4'}
karena 4294967294 bisa diformat sebagai 4.294.967.294 -
char[] humanFormat(int[] nums, char sep): Sama seperti method sebelumnya,
hanya saja method ini bisa menspesifikkan separator yang digunakanContoh:
humanFormat({2, 1, 4, 7, 4, 8, 3, 6, 4, 8}, '_')
mengembalikan{'4', '_', '2', '9', '4', '_', '9', '6', '7', '_', '2', '9', '4'}
atau 4294967294 yang diformat sebagai 4_294_967_294 -
void print(int[] nums): Mencatak array integer kedalam format angkaContoh:
print({1, 3, 4, 4})mencetak1344 -
void print(char[] c): Sama seperti method sebelumnya, hanya saja parameter
yang digunakan adalahchar[]Conotoh:
print({'4', '.', '2', '9', '4', '.', '9', '6', '7', '.', '2', '9', '4'})
mencetak 4.294.967.294
Program pada tugas ini hanya menggnakan tipe data primitif dan array primitif
Method pada Placeholder Code yang disediakan tidak dirubah
return type,
method name,signaturedanJavaDoc-nya, silakan lengkapibody method
dan menggantireturn valuenya
Placeholder Code tidak menyediakan
main method, silakan tambahkanmain methoduntuk keperluan testing, kode yang dipush tidak mengandungmain method
