ที่แทบไม่ทิ้งร่องรอยในโลกผลรวมของ divisors

0

คำถาม

ให้เป็นจำนวนเต็ม n<=10^18 ซึ่งคือผลิตภัณฑ์ของ Fibonacci หมายเลขประจำตัวผมต้องของชีนมันเป็นบอกว่า Fibonacci นตัวเลข

แต่ละ factorization มีคะแนนซึ่งเป็นหนึ่งน้อยกว่าคนจำนวนของปัจจัยบวกกับผลรวมของ indices ของปัจจัยอยู่ในลำดับของฟิโบนัคชี่ได้ที่ขึ้นต้นด้วย f(1)comment=1,f(2)=2 ต่อได้.

ถ้าหลายเรื่อ factorizations เป็นไปได้ฉันต้องการ factorization นั่น minimizes ที่ฉันได้อาร์ชี่เบตตี้เวโรนิก้า

ตัวอย่าง:

104=13*8 หรือ 104=13 * 2 * 2 * 2

f(6)=13,f(5)=8,f(2)=2

สำหรับ 104=13*8=f(6)*f(5)พวกเรามีจำนวนของ 2,indices ของ 6&5,ให้พวกเรา 2 + 6 + 5 - 1 = 12.

สำหรับ 104 = 13 * 2 * 2 * 2 = f(6)*f(2)*f(2)*f(2)พวกเรามีจำนวนของ 4 และ indices ของ 6,2,2,2,ให้พวกเรา 4 + 6 + 2 + 2 + 2 - 1 = 15.

เราควรจะเลือก 13*8 ขวบตั้งแต่มันมีด้านล่างฉันได้อาร์ชี่เบตตี้เวโรนิก้า

ปัญหาใหญ่สุดฉันมาพบคือตอนที่พวกเรามีจำนวนเหมือน 1008 ซึ่งเป็น divisible โดย 144 และ 21 แต่ต้องถูกแบ่งแยกโดย 21 เพราะ 1008%7==0. เพราะว่าโปรแกรมของผมคือคนแรก dividing โดยที่ใหญ่ที่สุดของตัวเลขจำนวน 144 คือ'ขโมยของ'3 จากจำนวนอายุ 21 แล้วโปรแกรมของผมไม่ได้หาทางออกหรอกนะ

algorithm division fibonacci python
2021-11-21 13:44:33
1

คำตอบที่ดีที่สุด

0

Carmichael นเกี่ยวกับทฤษฎีพิสูจน์ว่าทุ Fibonacci เบอร์หลังจาก 144 มีอย่างน้อยหนึ่งผู้ divisor นั่นไม่ได้แบ่งแยกอะไรก่อนหน้านี้ Fibonacci เบอร์

ไม่ได้มี Fibonacci ตัวเลขอยู่ใต้ 10^18;น้อยกว่า 90.

ทำให้เป็นอาเรย์ของทั้งหมด Fibonacci ตัวเลข<=10^น 18 แล้วนะ

ได้รับการนำเข้าข้อมูล n ซึ่งคนผลิตภัณฑ์ของ Fibonacci หมายเลขประจำตัวของมัน factorization เข้า Fibonacci ตัวเลขต้องรวมทุก Fibonacci จำนวนเหนือ 144 นั่น divides มันอีกกี่ครั้งก็ divides มัน

ผ่านของคุณ Fibonacci ตัวเลขในการส่งจดหมาย message->คำสั่งและทำให้ dividing n โดนอะไรแบบนั้นดังนั้น divides มันจนกระทั่งคุณต้อง 144.

ตอนนี้เราต้องระมัดระวังเพราะสองคน Fibonacci ตัวเลขไม่มีหลักปัจจัยไม่เห็นอยู่ก่อนหน้านี้ Fibonacci นตัวเลข พวกนี้คือ 8 คนและ 144. ตั้งแต่ 8 ขวบเป็น 2^3 และ 2 เป็น Fibonacci เบอร์คุณไม่สามารถจัดการพาคุณอเบอร์ unfactorable เข้า Fibonacci ตัวเลขด้วยการที่ 8. ภายใต้ของคุณ optimization คุณจะเลือก 8.

งั้น 144 เป็นเพียงปัจจัยที่คุณอาจจะต้องปฏิเสธสักเล็กลงปัจจัยสำคัญ. มันก็แค่เกิดขึ้นถ้า 34 หรือ 21 เป็นปัจจัยและ 144 จะช่วยลดต้องการ 2 หรือ 3.

34 = 2 * 17, 21 = 3 * 7

นั่นมันนานมา-หายใจไม่ทันแต่มันจะต้องเป็นคนของเราง่ายอย่างใกล้เข้ามาแล้ว

ไปผ่าน Fibonacci ตัวเลข<=n ในการส่งจดหมาย message->สั่งจนกว่าคุณต้อง 144 งั้นข้ามไปตอน 34 ก็อายุ 21 แล้วกลับไป 144 และเรียงจากมากไปหาน้อยลงที่ 2 ต่อได้.

นี่จะทำให้เธอที่เหมาะสม factorization ใต้ของคุณแปลกเพื่อซื้อแผน.

-----มันสั่ง----- [679891637638612258, 420196140727489673, 259695496911122585, 160500643816367088, 99194853094755497, 61305790721611591, 37889062373143906, 23416728348467685, 14472334024676221, 8944394323791464, 5527939700884757, 3416454622906707, 2111485077978050, 1304969544928657, 806515533049393, 498454011879264, 308061521170129, 190392490709135, 117669030460994, 72723460248141, 44945570212853, 27777890035288, 17167680177565, 10610209857723, 6557470319842, 4052739537881, 2504730781961, 1548008755920, 956722026041, 591286729879, 365435296162, 225851433717, 139583862445, 86267571272, 53316291173, 32951280099, 20365011074, 12586269025, 7778742049, 4807526976, 2971215073, 1836311903, 1134903170, 701408733, 433494437, 267914296, 165580141, 102334155, 63245986, 39088169, 24157817, 14930352, 9227465, 5702887, 3524578, 2178309, 1346269, 832040, 514229, 317811, 196418, 121393, 75025, 46368, 28657, 17711, 10946, 6765, 4181, 2584, 1597, 987, 610, 377, 233, 34, 21, 144, 89, 55, 13, 8, 5, 3, 2]

2021-11-21 22:54:18

เหตุผลที่เราทำ 34 และ 21 ออกจากเพื่อเป็นเพื่อทำให้แน่ใจว่าการใช้ 144s ไม่ใช้กขึ้น'ค 2s และ 3s เราต้องการเพื่อแบ่งออกจาก 17s และ 7s ว่าเราสามารถเดียวที่ทำใช้ 34s และ 21s.
Dave

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่