Đa thức bất khả quy trên GF (5)


13

Một đa thức với hệ số trong một số lĩnh vực F được gọi là tối giản hơn F nếu nó không thể được phân tách ra thành các sản phẩm của đa thức mức độ thấp hơn với các hệ số trong F .

Hãy xem xét các đa thức trên trường Galois GF (5). Trường này chứa 5 phần tử, cụ thể là các số 0, 1, 2, 3 và 4.

Bài tập

Cho một số nguyên dương n , tính số đa thức bất khả quy của độ n trên GF (5). Đây chỉ đơn giản là các đa thức có hệ số trong 0-4 mà không thể được tính vào các đa thức khác có hệ số trong 0-4.

Đầu vào

Đầu vào sẽ là một số nguyên duy nhất và có thể đến từ bất kỳ nguồn tiêu chuẩn nào (ví dụ STDIN hoặc đối số hàm). Bạn phải hỗ trợ đầu vào lên đến số nguyên lớn nhất để đầu ra không bị tràn.

Đầu ra

In hoặc trả về số lượng đa thức không thể giảm được trên GF (5). Lưu ý rằng những con số này nhận được khá lớn khá nhanh chóng.

Ví dụ

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

Lưu ý rằng những con số này tạo thành chuỗi A001692 trong OEIS.


PARI / GP 46 byte trên A001692;) Có giới hạn thời gian không?
ბიმო

@Bruce_Forte Không.
Alex A.

Câu trả lời:


9

Thạch , 30 23 22 20 byte

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

Hãy thử trực tuyến! hoặc xác minh tất cả các trường hợp thử nghiệm cùng một lúc .

Thuật toán

Điều này sử dụng công thức

công thức

từ trang OEIS, trong đó d | n chỉ ra rằng chúng ta tổng hợp trên tất cả các ước số d của nμ đại diện cho hàm Mobius .

Æ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
Tôi yêu những câu trả lời Jelly cho toán khó! :)

3

Toán học, 39 38 byte

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

Sử dụng công thức tương tự như câu trả lời Jelly.


+1 để dạy tôi về toán tử hàm có tên, nhưng tôi nghĩ rằng nó ngắn hơn một byte mà không có:DivisorSum[n=#,5^(n/#)MoebiusMu@#/n&]&
Martin Ender

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.