GF (5) से अधिक घृणास्पद बहुपद


13

कुछ में गुणांक के साथ एक बहुपद क्षेत्र एफ कहा जाता है अलघुकरणीय से अधिक एफ अगर यह में गुणांक के साथ कम डिग्री बहुपद के उत्पाद में विघटित नहीं किया जा सकता एफ

गैलोज़ मैदान जीएफ (5) पर बहुपद पर विचार करें । इस फ़ील्ड में 5 तत्व होते हैं, अर्थात् संख्या 0, 1, 2, 3 और 4।

कार्य

एक सकारात्मक पूर्णांक n को देखते हुए , GF (5) से अधिक डिग्री n के इरेड्यूसबल बहुपद की संख्या की गणना करें । ये केवल 0-4 में गुणांक वाले बहुपद हैं जो 0-4 में गुणांक के साथ अन्य बहुपद में नहीं बांटे जा सकते हैं।

इनपुट

इनपुट एक एकल पूर्णांक होगा और किसी भी मानक स्रोत (जैसे STDIN या फ़ंक्शन तर्क) से आ सकता है। आपको सबसे बड़े पूर्णांक तक इनपुट का समर्थन करना चाहिए जैसे कि आउटपुट अतिप्रवाह नहीं करता है।

उत्पादन

जीएफ (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

ध्यान दें कि ये संख्या OEIS में A001692 अनुक्रम बनाते हैं


PARI / GP 46 बाइट्स A001692 पर;) क्या कोई समय सीमा है?
ბიმო

@ ब्रूस_फोर्ट नोप।
एलेक्स ए।

जवाबों:


9

जेली , 30 23 22 20 बाइट्स

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

इसे ऑनलाइन आज़माएं! या एक ही बार में सभी परीक्षण मामलों को सत्यापित करें

कलन विधि

यह सूत्र का उपयोग करता है

सूत्र

OEIS पेज से, जहां d | n इंगित करता है कि हम से अधिक योग सभी divisors d के एन , और μ का प्रतिनिधित्व करता है मॉबियस समारोह

कोड

Æ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

गणितज्ञ, 39 38 बाइट्स

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

जैली जवाब के रूप में एक ही सूत्र का उपयोग करता है।


नामित-फ़ंक्शन ऑपरेटर के बारे में मुझे सिखाने के लिए +1, लेकिन मुझे लगता है कि यह बिना बाइट के छोटा है:DivisorSum[n=#,5^(n/#)MoebiusMu@#/n&]&
मार्टिन एंडर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.