Program Fungsi Ackermann dengan Python

Halo semuanya! Berjumpa dengan Miniblog dari Inzaghi's Blog! Fungsi Ackermann juga berhubungan erat dengan Fungsi Hiperoperasi (Hyperoperation Function). Bagaimanakah Program Fungsi Ackermann dalam Bahasa Pemrograman seperti Python? Inilah penjelasannya!

Sumber : Mathworld.Wolfram.comWikipedia.org, dan Geeksforgeeks.org

Untuk Software-nya, Anda bisa menggunakan Atom, Sublime Text, PyCharm, ataupun VS Code. Bahkan Anda juga bisa menggunakan Online Compiler yang ada di Internet seperti ProgramizOneCompilerOnlineGDBTrinket, dll.

Dalam Teori Komputabilitas, Fungsi Ackermann, dinamai menurut Wilhelm Ackermann, adalah salah satu contoh paling sederhana dan paling awal ditemukan dari fungsi total yang dapat dihitung yang bukan Rekursif Primitif. Semua fungsi Rekursif Primitif bersifat total dan dapat dihitung, tetapi fungsi Ackermann mengilustrasikan bahwa tidak semua fungsi yang dapat dihitung total bersifat Rekursif Primitif.

Setelah publikasi Ackermann tentang fungsinya (yang memiliki tiga argumen bilangan bulat non-negatif), banyak penulis memodifikasinya agar sesuai dengan berbagai tujuan, sehingga saat ini "fungsi Ackermann" dapat merujuk ke salah satu dari banyak varian fungsi aslinya. Salah satu versi umum, fungsi Ackermann–Péter dua argumen didefinisikan sebagai berikut untuk bilangan bulat non-negatif m dan n :

Fungsi Ackermann A(x, y) dapat didefinisikan sebagai Bilangan Bulat x dan y dengan :


Dan inilah Fungsi Ackermann dengan Bahasa Python :

def ack(m, n):
    if m == 0:
        return n + 1
    elif m > 0 and n == 0:
        return ack(m - 1, 1)
    elif m > 0 and n > 0:
        return ack(m - 1, ack(m, n - 1))
    else:
        return ack(m, n)
 
print("Ackermann Function A(x, y)")
x = int(input("Insert value of x : "))
y = int(input("Insert value of y : "))

A = ack(x, y)

print("A("+str(x)+", "+str(y)+") = "+str(A))

Input dan Output :

Ackermann Function A(x, y)
Insert value of x :  2
Insert value of y :  4
A(2, 4) = 11

Ackermann Function A(x, y)
Insert value of x :  3
Insert value of y :  4
A(3, 4) = 125


Mohon maaf apabila ada kesalahan sedikitpun pada Kode Program ini.

Terima Kasih 😀😊😘👌👍 :)

Post a Comment

Previous Post Next Post