न्यूनतम विरल शासक


20

लंबाई n के एक मानक शासक में 0, 1, ..., n (जो भी इकाइयों में) पर दूरी के निशान हैं । एक विरल शासक के पास उन निशानों का एक उपसमूह होता है। एक शासक दूरी k को माप सकता है यदि इसमें p और q के साथ p - q = k के पदों पर निशान हों ।

चुनौती

एक सकारात्मक पूर्णांक n को देखते हुए , लंबाई n के विरल शासक में आवश्यक अंकों की न्यूनतम संख्या का उत्पादन करें ताकि यह सभी दूरी 1, 2, ..., n को माप सके ।

यह OEIS A046693 है ।

एक उदाहरण के रूप में, इनपुट 6 के लिए आउटपुट 4 है। अर्थात्, 0, 1, 4, 6 कार्यों के साथ एक शासक, 1 ,0 = 1, 6−4 = 2, 4−1 = 3, 4−0 के रूप में। = 4, 6 =1 = 5, और 6 ,0 = 6।

अतिरिक्त नियम

परीक्षण के मामलों

1   ->   2
2   ->   3
3   ->   3
4   ->   4
5   ->   4
6   ->   4
7   ->   5
8   ->   5
9   ->   5
10  ->   6
11  ->   6
12  ->   6
13  ->   6
14  ->   7
15  ->   7
16  ->   7
17  ->   7
18  ->   8
19  ->   8
20  ->   8
21  ->   8
22  ->   8
23  ->   8
24  ->   9
25  ->   9
26  ->   9
27  ->   9
28  ->   9
29  ->   9
30  ->  10
31  ->  10 
32  ->  10

जवाबों:


2

जेली , 14 बाइट्स

ŒcIQL
‘ŒPÇÐṀḢL

गैर-नकारात्मक पूर्णांकों को लेने और वापस करने वाला एक विचित्र लिंक।

इसे ऑनलाइन आज़माएं! (पहले 15 मूल्यों यहाँ - कुशल नहीं)

कैसे?

उन सभी शासकों को ढूँढता है जो 1 से n + 1 के माध्यम से अंक बना सकते हैं (उनकी अंकन-गणना द्वारा आदेशित [[1, n + 1] का पावर-सेट), और केवल वही रखता है जो अधिकतम औसत दर्जे की दूरी बनाते हैं (लंबाई) सभी अंकों के जोड़े के बीच अंतर का सेट), फिर पहले की लंबाई (यानी [एक] सबसे छोटा एक [एस]) देता है।

ŒcIQL - Link 1: number of measurable distances: list of numbers, ruler  e.g. [1,2,3,7]
Œc    - all pairs                                [[1,2],[1,3],[1,7],[2,3],[2,7],[3,7]]
  I   - incremental differences                                          [1,2,6,1,5,4]
   Q  - de-duplicate                                                       [1,2,6,5,4]
    L - length                                                                      5

‘ŒPÇÐṀḢL - Main link: number, n              e.g. 4
‘        - increment                              5
 ŒP      - power-set (implicit range of input)   [[],[1],[2],[3],[4],[5],[1,2],[1,3],[1,4],[1,5],[2,3],[2,4],[2,5],[3,4],[3,5],[4,5],[1,2,3],[1,2,4],[1,2,5],[1,3,4],[1,3,5],[1,4,5],[2,3,4],[2,3,5],[2,4,5],[3,4,5],[1,2,3,4],[1,2,3,5],[1,2,4,5],[1,3,4,5],[2,3,4,5],[1,2,3,4,5]]
    ÐṀ   - keep those maximal under:
   Ç     -   call the last link (1) as a monad   [[1,2,3,5],[1,2,4,5],[1,3,4,5],[1,2,3,4,5]]
      Ḣ  - head                                  [1,2,3,5]
       L - length                                 4



5

अजगर , 14 बाइट्स

lh.Ml{-M^Z2ySh

यहाँ कोशिश करो!

पायथ , 21 19 बाइट्स

hlMf!-SQmaFd.cT2ySh

यहाँ कोशिश करो!

यह काम किस प्रकार करता है

मैं इसे गोल्फ के बाद अपडेट करूंगा।

hSlMfqSQS {maFd.cT2ySh ~ पूर्ण कार्यक्रम प्र = इनपुट।

                   Sh ~ पूर्णांक सीमा [1, Q + 1]।
                  y ~ पॉवर्स
    f ~ फ़िल्टर (एक चर टी का उपयोग करता है)।
              .cT2 ~ टी के सभी दो-तत्व संयोजन।
          एम ~ नक्शा।
           एएफडी ~ पूर्ण अंतर से कम करें।
        S {~ डेडुप्लिकेट, सॉर्ट करें।
     qSQ ~ पूर्णांक श्रेणी [1, Q] के बराबर है?
  एलएम ~ लंबाई के साथ नक्शा।
एचएस ~ न्यूनतम।

मेरे दूसरे दृष्टिकोण के लिए एक बाइट को बचाने और मुझे अपने वर्तमान दृष्टिकोण से गोल्फ 3 बाइट्स के लिए प्रेरित करने के लिए isaacg का धन्यवाद !


चूँकि शक्तियाँ लंबाई द्वारा आदेशित होती हैं, पहला Sअनावश्यक है।
— इसहाक

@isaacg धन्यवाद! आपके महान उत्तर (+1) ने मुझे मेरे नए दृष्टिकोण से 3 बाइट्स बचाने के लिए प्रेरित किया, जिससे यह 14 बाइट्स हो गया।
— श्री एक्सकोडर


4

हस्क , 20 18 बाइट्स

λ▼mLfȯ≡⁰u´×≠tṖ⁰)…0

धन्यवाद @ H.PWiz -2 बाइट्स के लिए!

इसे ऑनलाइन आज़माएं!

व्याख्या

λ               )…0  -- lambda with argument ⁰ as [0..N]
              Ṗ⁰     -- all subsets of [0..N]
             t       -- tail (remove empty subset)
    f(      )        -- filter by following function:
           ≠         --   absolute differences
         ´×          --   of all pairs drawn from itself
        u            --   remove duplicates
      ≡⁰             --   "equal" to [0..N]
  mL                 -- map length
 ▼                   -- minimum

oa-के रूप में ही है≠
— H.PWiz

@ H.PWiz यह वास्तव में केवल मायने रखता है कि उनकी लंबाई समान है, क्योंकि [0..N] श्रेणी के बाहर कोई अंतर नहीं हो सकता है।
— मार्टिन एंडर

आप शायद उपयोग भी कर सकते हैं ≈।
— मार्टिन एंडर

4

जेली , 17 बाइट्स

‘ŒPµạþ`FQḊṫ³µÐfḢL

इसे ऑनलाइन आज़माएं!

जोनाथन एलन को 1 बाइट धन्यवाद !


पावर-सेट को सबसे छोटे से सबसे लंबे समय तक सॉर्ट किया जाता है, इसलिए मुझे लगता है कि ḢLइसे ठीक होना चाहिए ..
— जोनाथन एलन

3

अजगर, 15 बाइट्स

lhf!-SQ-M^T2yUh

परीक्षण सूट

यह काम किस प्रकार करता है

lhf!-SQ-M^T2yUh
             Uh    [0, 1, ... n]
            y      Powerset - all possible rulers
  f                Filer rulers on
         ^T2       All pairs of marks, in both orders
       -M          Differences - (a)
     SQ            [1, ... n], the desired list of differences - (b)
    -              Remove (a) from (b)
   !               Check that there's nothing left.
 h                 The first remaining ruler (powerset is ordered by size)
l                  Length

3

जेली , 17 बाइट्स

_þ`ẎQṢw
‘ŒPçÐfRḢL

इसे ऑनलाइन आज़माएं!

श्री Xcoder के जवाब के लिए एक चाल उधार -1।
-1 जोनाथन एलन को धन्यवाद ।


पावर-सेट को सबसे छोटे से सबसे लंबे समय तक सॉर्ट किया जाता है, इसलिए मुझे लगता है कि ḢLइसे ठीक होना चाहिए ..
— जोनाथन एलन

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