Problem
Öklid algoritmasının, çıkarma işleminin yerini kalanın hesaplanması işlemine bıraktığı başka bir versiyonu daha vardır.
Bu sürüm, ortalama olarak önemli ölçüde daha az sayıda adım içerdiğinden bugün tercih edilir olarak kabul edilir. Ancak bilgisayarların büyük ve yavaş olduğu günlerde bölme işlemi başlı başına karmaşık bir prosedür olabiliyordu. Ve sonra algoritmanın ilk versiyonu daha verimli olabilir.
Çıkarmayı modulo işlemiyle değiştirerek Öklid'in algoritmasını uygulayın.
İki doğal sayı
A
ve
B
verilmiştir.
A
ve
B
'nin en büyük ortak bölenini döndüren bir
nod(A, B)
işlevi yazın.
Program örnekleri
# |
Girdi |
Çıktı |
şey>
1 |
12 42 |
6 |
Çözümünüzde döngü kullanamayacağınızı unutmayın.
Sizden sadece bir fonksiyon yazmanız isteniyor, hiçbir şey girip çıktı almanıza gerek yok!
Запрещенные операторы: for;while;do;until;gcd