ฟังก์ชันöของGödelใช้ตัวเลขธรรมชาติสามตัวเป็นอาร์กิวเมนต์
มันถูกกำหนดให้เป็น β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) )
โดยที่ rem (a, b) หมายถึงส่วนที่เหลือหลังจากการหารจำนวนเต็มของ a โดย b
βเล็มม่ากล่าวว่า:
สำหรับลำดับตัวเลขธรรมชาติใด ๆ (k_0, k_1, …, k_n) มีจำนวนธรรมชาติ b และ c เช่นนั้นสำหรับทุก ๆ in, β (b, c, i) = k_i
Gödelต้องการความช่วยเหลือในการค้นหาb
และสำหรับการป้อนข้อมูลใดก็ตามc
(k_0, k_1, … , k_n), k_i ∈ ℕ
เขียนฟังก์ชั่นที่ใช้ความยาวเป็นอาร์เรย์n
เต็มไปด้วยจำนวนธรรมชาติและให้b,c
เอาต์พุตที่เป็นไปได้ที่ตรงกับเล็มม่าของอาร์เรย์
ไม่ได้รับการแก้ปัญหาด้วยกำลังดุร้าย!
(ในความเห็นของฉันโดยไม่คาดคิดทั้งหมดมันเป็นแรงเดรัจฉานเมื่อคุณได้รับตัวเลขจากนั้นทำการคำนวณนั่นคือการคาดเดาตัวเลขแล้วดูว่าการเดานั้นถูกต้องหรือไม่สิ่งที่ฉันต้องการให้มีการเข้ารหัสที่นี่ ตัวเลขและไม่จำเป็นต้องตรวจสอบว่าพวกเขาเติมเต็มบทแทรกเพราะพวกเขาถูกคำนวณให้ทำ)
สร้างพวกเขาด้วยสมการและข้อมูลที่ได้รับ รหัสที่สั้นที่สุดชนะคะแนนโบนัสถ้าคุณทำJavascript
เพราะฉันเพิ่งเข้ามา:)
ตัวอย่าง:
[5, 19, 7, 8] -> (1344595, 19)
1344505 % (1 + (0 + 1) * 19) = 5
1344505 % (1 + (1 + 1) * 19) = 19
1344505 % (1 + (2 + 1) * 19) = 7
1344505 % (1 + (3 + 1) * 19) = 8
(b, c)
จนกว่ามันจะพบว่างานใดที่จะเป็นการใช้กำลังอย่างดุเดือดและวิธีการทำงานแบบเส้นตรงในระยะเวลาตามความยาวของอินพุตจะไม่เป็น แต่มีช่องว่างขนาดใหญ่ระหว่างสิ่งนั้น การลากเส้นอยู่ที่ไหน