Teorema 1 : Untuk sembarang bilangan bulat dan
, dimana
. Pasti ada bilangan bulat
dan
yang memenuhi
dimana
Secara matematis : Untuk , dimana
. Pasti ada
yang memenuhi
dimana
Selanjutnya :
disebut dividend (bilangan yang dibagi)
disebut divisor (bilangan pembagi/faktor)
disebut quotient (hasil bagi)
disebut remainder (sisa bagi)
Teorema 2 : dinyatakan habis membagi
jika dan hanya jika
. Sebaliknya,
dinyatakan tidak habis membagi
jika dan hanya jika
Secara matematis : . Sebaliknya,
Contoh 1 :
Contoh 2 :
Teorema 3 : Untuk bilangan bulat ,
, dan
. Jika
habis membagi
dan
habis membagi
, maka
habis membagi
Secara matematis : Untuk . Jika
dan
maka
Teorema 4 : Untuk bilangan bulat ,
,
dan
. Jika
habis membagi
dan
habis membagi
, maka
habis membagi
Secara matematis : Untuk . Jika
dan
maka
Dalam algoritma pembagian , perhatikan bahwa sisa bagi/remainder (
) BUKAN hal yang sama dengan fungsi
pada ilmu komputasi. Memang ada hubungannya, tetapi kedua hal ini adalah hal yang berbeda. Serupa dengan algoritma pembagian,
dikatakan habis membagi
jika dan hanya jika
.
Contoh 1 (lagi) :
Contoh 2 (lagi) :
Untuk selanjutnya, kita definisikan istilah faktor (divisor) dari bilangan bulat adalah bilangan bulat
yang habis membagi
.
Secara matematis : Faktor/divisor dari adalah
yang memenuhi
, dimana
.
Contoh 3 :
- Faktor-faktor (divisors) dari 24 :
- Faktor-faktor (divisors) dari 84 :

Obat Ngantuk
Dengan hanya mempertimbangkan faktor-faktor (divisors) positif, maka faktor dari 24 adalah : 1, 2, 3, 4, 6, 8, 12, 24. Totalnya ada 8 faktor positif untuk 24. Dengan aturan yang sama, faktor-faktor positif dari 84 adalah 1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84 dan banyaknya ada 12 buah. Ternyata, sebagian besar bilangan memiliki faktor positif dalam jumlah genap. Hanya ada segelintir bilangan yang memiliki faktor positif dalam jumlah ganjil. Cari tahu bilangan jenis apa yang memiliki faktor positif dalam jumlah ganjil dan jelaskan mengapa bisa begitu. Pembahasan ada di sini.
Rancanglah suatu fungsi – sebut saja FakPos(n) – yang mengembalikan banyaknya faktor positif dari suatu bilangan bulat positif n. Sebagai contoh, FakPos(24) = 8 dan FakPos(84) = 12. Untuk mempermudah proses pemfaktoran, akan disediakan test case dalam format :
<number> <pi>^<ei> <pj>^<ej> <pk>^<ek>…<pn>^<en>
Contoh input :
24 2^3 3^1
84 2^2 3^1 7^1
337500 2^2 3^3 5^5
384813 3^2 11^1 13^2 23^1Contoh output :
8
12
72
36Karakteristik input :
Setiap baris berisi satu test case.
Jumlah test case = 100Time Limit
2 detikTest Case(s)
Ambil di sini.Pembahasan
Problem dibahas di sini.
hoaaammmm….
Komentar oleh Loreng — September 17, 2010 @ 7:36 am
hooaaammm
Komentar oleh Loreng — September 17, 2010 @ 7:39 am
Hoammm,sehr langweilig seiner Artikel ist
Komentar oleh Corokeren — September 18, 2010 @ 9:21 am
das Problem zu lösen dann
Komentar oleh Hendra Jaya — September 18, 2010 @ 10:52 am
coba kujawab ya obat ngantuknya
obat ngantuk nomer satu:
bilangan yang merupakan kuadrat dari suatu bilangan prima, faktor positifnya ganjil.
Misal :
4 = 1,2,4
9 = 1,3,9
25 = 1,5,25
kemudian, gimana dgn bilangan yg jumlah faktor positif = 5,7,9, dst ?
misal faktor positif n = 1, 2, 3, 5, n
maka n = 30. tapi 2 * 3 = 6, 3 * 5 = 15, dan 2 * 5 = 10 juga faktor positif yg menjadikan jumlah = 8.
Dengan demikian jika melibatkan lebih dari satu faktor prima, pasti jumlah faktor positif = genap karena harus melibatkan kombinasi dari faktor2 antara 1 dan n. Jika jumlah faktor positif antara 1 dan n ganjil, kombinasi yg ditambahkan ganjil, jika genap kombinasi yg ditambahkan genap sehingga hasilnya pasti genap.
faktor prima bisa berulang, misalnya 12 yang mempunyai faktor 2,2,3. Dimana setelah ditambah dengan kombinasi2nya yaitu 2*2 = 4, 2 * 3 =6, faktor2 positifnya adalah 1,2,3,4,6,12 yg jumlahnya genap.
tapi jika 2^4 = 16, faktor positifnya = 1,2,4,8,16 = 5 = ganjil
sedangkan 2^3 menghasilkan jumlah faktor positif genap
jadi n^m dengan m genap menghasilkan jumlah faktor positif ganjil karena faktor positifnya selain 1 dan n juga ditambah sebanyak (m-1).
n1^m1 . n2^m2 juga menghasilkan jumlah faktor positif ganjil karena jumlah kombinasi perkalian dari faktor2 primanya juga pasti ganjil.
maka kesimpulannya bilangan yang memiliki jumlah faktor positif ganjil adalah bilangan n1^m1 . n2^m2 …. dengan n adalah bilangan prima dan m adalah genap.
ada tipe bilangan lain gak?
nomer dua :
faktor positif kan sama dengan kombinasi dari faktor2 prima.
Misal, 24 faktor2 positifnya : 1,2,3,4,6,8,12,24
2 = 2
4 = 2 * 2
8 = 2 * 2 * 2
6 = 2 * 3
12 = 2 * 2 * 3
24 = 2 * 2 * 2 * 3
3 = 3
aku bikin suatu array untuk menampung faktor2 prima-nya, kemudian tinggal generate kombinasinya
Misal untuk contoh nomer 3 (337500):
public class iseng {
static int[] data = {2,2,3,3,3,5,5,5,5,5};//2^2 * 3^3 * 5^5 = 337500
static int jumlah = 0;
public static void rec(int index, long kali){
jumlah++;
System.out.println(kali);
for (int i = index; i < data.length; i++) {
if (i == index || data[i] != data[i-1])
rec(i+1,kali * data[i]);
}
}
public static void main(String[] arggs) {
rec(0,1);
System.out.println("hasilnya = "+jumlah);
}
}
kurang efisien sih, bisa dioptimize lagi kl mau. tp 100 test case pasti hanya butuh beberapa mili second.
Komentar oleh Peter Aloysius — September 19, 2010 @ 4:23 am
Makasih buat jawabannya Pet.
Untuk obat ngantuk yang pertama : Benar. Secara singkat, bilangan yang memiliki faktor positif dalam jumlah ganjil adalah bilangan kuadrat.
Untuk obat ngantuk yang kedua : Benar. Di dalam post berikutnya akan dibahas pendekatan lain yang cukup “ajaib”
Komentar oleh Hendra Jaya — September 20, 2010 @ 5:37 am