ชื่อพหุนามลดลงมากกว่า GF (5)


13

พหุนามที่มีสัมประสิทธิ์ในบางฟิลด์ Fเรียกว่าลดลงกว่าFถ้ามันไม่สามารถย่อยสลายลงในผลิตภัณฑ์ของพหุนามระดับที่ต่ำกว่าที่มีสัมประสิทธิ์ในF

พิจารณาชื่อพหุนามมากกว่าฟิลด์ Galois GF (5) ฟิลด์นี้มี 5 องค์ประกอบคือตัวเลข 0, 1, 2, 3 และ 4

งาน

รับจำนวนเต็มบวกnให้คำนวณจำนวนพหุนามที่ลดลงของ degree nมากกว่า GF (5) เหล่านี้เป็นพหุนามที่มีค่าสัมประสิทธิ์ใน 0-4 ซึ่งไม่สามารถนำไปรวมกับชื่อพหุนามอื่น ๆ ที่มีสัมประสิทธิ์ใน 0-4

อินพุต

อินพุตจะเป็นจำนวนเต็มเดียวและสามารถมาจากแหล่งมาตรฐานใด ๆ (เช่น STDIN หรืออาร์กิวเมนต์ของฟังก์ชัน) คุณต้องสนับสนุนอินพุตจนถึงจำนวนเต็มที่มากที่สุดเพื่อให้เอาต์พุตไม่ล้น

เอาท์พุต

พิมพ์หรือคืนจำนวนพหุนามที่ลดลงเกิน GF (5) โปรดทราบว่าตัวเลขเหล่านี้มีขนาดใหญ่ขึ้นอย่างรวดเร็ว

ตัวอย่าง

In : Out
 1 : 5
 2 : 10
 3 : 40
 4 : 150
 5 : 624
 6 : 2580
 7 : 11160
 8 : 48750
 9 : 217000
10 : 976248
11 : 4438920

โปรดทราบว่าตัวเลขเหล่านี้ก่อให้เกิดลำดับA001692ใน OEIS


PARI / GP 46 ไบต์ใน A001692;) มีการ จำกัด เวลาหรือไม่?
ბიმო

@Bruce_Forte Nope
Alex A.

คำตอบ:


9

เจลลี่ , 30 23 22 20 ไบต์

ÆF>1’PḄ
ÆDµU5*×Ç€S:Ṫ

ลองออนไลน์! หรือตรวจสอบกรณีทดสอบทั้งหมดในครั้งเดียว

ขั้นตอนวิธี

ใช้สูตรนี้

สูตร

จากหน้า OEIS โดยที่d | nแสดงให้เห็นว่าเรารวมกว่าหารทุกวันของnและμหมายถึงฟังก์ชั่นMöbius

รหัส

ÆF>1’PḄ       Monadic helper link. Argument: d
              This link computes the Möbius function of d.

ÆF            Factor d into prime-exponent pairs.
  >1          Compare each prime and exponent with 1. Returns 1 or 0.
    ’         Decrement each Boolean, resulting in 0 or -1.
     P        Take the product of all Booleans, for both primes and exponents.
      Ḅ       Convert from base 2 to integer. This is a sneaky way to map [0, b] to
              b and [] to 0.

ÆDµU5*×Ç€S:Ṫ  Main link. Input: n

ÆD            Compute all divisors of n.
  µ           Begin a new, monadic chain. Argument: divisors of n
   U          Reverse the divisors, effectively computing n/d for each divisor d.
              Compute 5 ** (n/d) for each n/d.

       ǀ     Map the helper link over the (ascending) divisors.
      ×       Multiply the powers by the results from Ç.
         S    Add the resulting products.
          Ṫ   Divide the sum by the last divisor (n).

1
ฉันรักคำตอบของเยลลี่ต่อคณิตศาสตร์อย่างหนัก! :)

3

Mathematica, 39 38 ไบต์

DivisorSum[a=#,5^(a/#)MoebiusMu@#/a&]&

ใช้สูตรเดียวกันกับคำตอบของเยลลี่


+1 สำหรับการสอนฉันเกี่ยวกับโอเปอเรเตอร์ที่มีชื่อฟังก์ชั่น แต่ฉันคิดว่ามันสั้นกว่าโดยไม่ต้อง:DivisorSum[n=#,5^(n/#)MoebiusMu@#/n&]&
Martin Ender

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.