Yazan : Şadi Evren ŞEKER
Sayı teorisinde (number theory), bir sayının verilen modülodaki 1’e denk olan üstüne o sayının çarpım derecesi (multiplicative order) ismi verilir.
or(n) sembolü ile gösterilir. Buradaki r değeri modüloyu, n değeri ise sayıyı ifade eder.
Örneğin o13(5) değerini hesaplayalım.
5k ≡ 1 mod 13 olan k değerini bulacağız.
51 ≡ 5 mod 13
52 ≡ 12 mod 13
53 ≡ 8 mod 13
54 ≡ 1 mod 13
Yukarıdaki denkleme göre 5 sayısının 4. derecesi, modulo 13’te 1’dir. Bu durumda çarpım derecesini 4 olarak bulmuş oluruz.
o13(5) = 4
şeklinde yazılabilir. Bazı kaynaklarda o sembolü yerine İngilizce order kelimesinden gelen ord veya Türkçedeki derece kelimesinden gelen d veya der sembolleri de kullanılmaktadır.
Örneğin ord13(5) = 4 şeklinde.
Yukarıdaki problemin kodu C dilinde aşağıdaki şekilde yazılabilir:
Koddaki 9. satırda bulunan durum değişkeni, o andaki üst değerini, 10. satırda bulunan derece değeri ise kaçıncı derecesinin denendiğini tutmaktadır. Döngümüz, durum değişkeni r ile bölündükten sonra kalan değer (modülo), 1’den büyük olduğu sürece dönmektedir. Her adımda durum değeri, çarpım derecesi aranan sayı kadar çarpılmakta (bir sonraki üstü alınmakta) ve derece, bir arttırılmaktadır. Şayet derece, modüloyu geçerse aralarında asal olduğuna karar verilip, döngü kırılmakta ve -1 değeri döndürülmektedir. Döngüdeki koşulun bitmesi ise, sadece kalan değerinin (modulo) 1 olması ile mümkündür ki bu durumda da çarpım derecesi bulunmuş olunur.