চলে যাও! নং -১ এখানে নেই!


16

আমি কয়েকটি সংখ্যার সাথে খেলছিলাম এবং একটি সিকোয়েন্স পেয়েছি যা অবশ্যই OEIS এ রয়েছে। এটি A005823 : যে সংখ্যাগুলি এর ত্রৈমাসিক বিস্তারে কোনও 1 নেই । এটা যায়:

a (2n) = 3 * a (n) +2

a (2n + 1) = 3 * a (n + 1)

a (1) = 0

a = 0,2,6,8,18,20,24,26,54 ...

আমি একটি সিজেএম প্রোগ্রাম লিখেছিলাম যা সূচকে বাইনারি রূপান্তর করে, 1 এর 2 এর সাথে প্রতিস্থাপন করে এবং দশকে দশকে রূপান্তর করে এই সংখ্যার প্রথম এন তৈরি করে ।

আমি আরও লক্ষ্য করেছি যে যে কোনও এমনকি সংখ্যাটি ক্রমের দুটি সংখ্যার যোগফল (কখনও কখনও নিজের সাথে সংখ্যা) যোগ করে নেওয়া যায়।

চ্যালেঞ্জ:

ইনপুট হিসাবে যেকোন অ-নেতিবাচক সমান সংখ্যাকে দেওয়া, এটির সংখ্যায় দুটি সংখ্যার সূচকগুলি আউটপুট দেয়। (মনে রাখবেন যে কখনও কখনও একাধিক জোড়া সম্ভব হয়))

নিয়ম:

  • আপনি 0- বা 1-ইনডেক্সিং ব্যবহার করছেন কিনা তা উল্লেখ করুন।
  • আপনি যদি স্ট্রিং হিসাবে আউটপুট দিচ্ছেন তবে দুটি সূচকের মধ্যে একটি ডিলিমিটার রাখুন।
  • আপনাকে জটিল সংখ্যা হিসাবে আউটপুট দেওয়ার অনুমতি দেওয়া হচ্ছে।
  • আপনি যদি তাই চান, আপনি প্রতিটি বৈধ জোড় আউটপুট করতে পারেন।
  • কোড গল্ফ: সংক্ষিপ্ত উত্তর জিতেছে

পরীক্ষার কেস

আমি 0-ইনডেক্সিং ব্যবহার করি। এখানে আমি প্রতিটি ইনপুট জন্য প্রতিটি সম্ভাব্য আউটপুট তালিকাভুক্ত, কিন্তু আপনি শুধুমাত্র একটি আউটপুট প্রয়োজন।

0:       [0 0]
 2:       [1 0]
 4:       [1 1]
 6:       [2 0]
 8:       [2 1] [3 0]
 10:      [3 1]
 12:      [2 2]
 14:      [3 2]
 16:      [3 3]
 18:      [4 0]
 30:      [6 2]
 32:      [6 3] [7 2]
 46:      [7 5]
 50:      [7 6]
 120:     [10 10]
 338:     [19 18]
 428:     [30 23] [31 22]
 712:     [33 27] [35 25] [41 19] [43 17] [49 11] [51 9] [57 3] [59 1]
 1016:    [38 37] [39 36]
পরীক্ষার ক্ষেত্রে সহায়তার জন্য @ লুইস মেন্ডোকে ধন্যবাদ।

সম্পর্কিত: এটি ক্যান্টারের মধ্যে রয়েছে?


আমরা দুটি মানের একটি জটিল সংখ্যা আউটপুট করতে পারি? আমরা দুটি ফাংশন সরবরাহ করতে পারি, একটি করে প্রতিটি মান দেওয়া?
xnor

2
আমরা কি সমস্ত সম্ভাব্য মান আউটপুট করতে পারি, বা এটি চ্যালেঞ্জের বাইরে চলে যেতে পারে?
কোল

@ কোল হ্যাঁ, ঠিক আছে।
জিওকাভেল

মনে হচ্ছে মিঃ স্লোয়েন তার নম্বর ক্রমগুলি সত্যই পছন্দ করেছেন। "
এটির

1
যেহেতু কিছু ইনপুটগুলির জন্য বেশ কয়েকটি সমাধান রয়েছে, তাই পরীক্ষার ক্ষেত্রে সমস্ত সমাধান অন্তর্ভুক্ত করা ভাল। এই প্রোগ্রামটি প্রতিটি পরীক্ষার ক্ষেত্রে সমস্ত সমাধান জোড়া দেখায়, চ্যালেঞ্জ পাঠ্যের মতো একই বিন্যাসে (0-ভিত্তিক, প্রতিটি জুটি ক্রমবর্ধমান বাছাই করা হয়)
লুইস মেন্ডো

উত্তর:


10

হুস্ক , 21 14 13 বাইট

-7 বাইটস, @ নীলের জেএস উত্তরের জন্য ধন্যবাদ

-1 বাইট বেটাওরোসের প্যারাডোক উত্তরে অনুপ্রাণিত

0-ইনডেক্সিং ব্যবহার করে

mḋTmMo±>ḋ2B3½

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

            ½    Half the input
          B3     Convert to Base 3
   m             Map over the list
    Mo±>ḋ2       Function such that: 0 -> [0,0], 1 -> [0,1], 2 -> [1,1]
        ḋ2       Binary 2, [1,0]
    M            For each in that list
     o±>         check if the argument is greater than it
  T              Transpose
mḋ               Convert each from binary

পূর্ববর্তী 21 বাইট সমাধান

প্রথমবারের জন্য আমি একটি ব্যবহার দেখেছি »

mḋT»o%2+ȯ?´eḋε%3`-0B3

এটি অনলাইন চেষ্টা করুন!

দীর্ঘতর, যেমন আমি বহন করার সাথে ডিল করছিলাম


8

জাভাস্ক্রিপ্ট (ES6), 75 71 বাইট

f=
n=>[1,0].map(i=>parseInt((n/2).toString(3).replace(/./g,c=>+c+i>>1),2))
<input type=number min=0 step=2 oninput=o.textContent=this.value%2?``:f(this.value)><pre id=o>

ব্যাখ্যা: ইনপুট এবং A005823 এর উপাদানগুলিকে 2 দ্বারা ভাগ করে নেওয়া সমস্যার কোনও পরিবর্তন করে না, তবে এটি সমাধানকে আরও সহজ করে তোলে কারণ ত্রৈমাসিক উপস্থাপনাগুলি এখন কেবল 0 এবং 1 এর ব্যবহার করে এবং তাই বিবেচনার জন্য কোনও বহন করা হয় না। এটি উপাদান থেকে সূচকে রূপান্তর করার সময় একটি পদক্ষেপও বাঁচায় (প্রতিটি উপাদানটির ত্রৈমাসিকটি তার সূচকের দ্বিগুণ হয়)। উদাহরণ:

                 A005823
                  halved
            n in  values A005823
   n n/2  base 3  base 3 indices
   0   0       0   0   0   0   0  
   2   1       1   1   0   1   0
   4   2       2   1   1   1   1
   6   3      10  10   0   2   0
   8   4      11  11   0   3   0
  10   5      12  11   1   3   1
  12   6      20  10  10   2   2
  14   7      21  11  10   3   2
  16   8      22  11  11   3   3
  18   9     100 100   0   4   0
  30  15     120 110  10   6   2
  32  16     121 111  10   7   2
  46  23     212 111 101   7   5
  50  25     221 111 110   7   6

6

জেলি , 26, 22 , 21 বাইট

ḶBḤḅ3
ÇŒcS=¥Ðf⁸ḢiЀÇT

এটি অনলাইন চেষ্টা করুন!

একটি বাইট @ জোনাথান অ্যালানকে ধন্যবাদ রক্ষা করেছে!

ব্যাখ্যা:

                # Helper link: A005823 to *N* terms
Ḷ               # Lowered range(N)
 B              # Converted to binary
  Ḥ             # Double each digit
   ḅ3           # Converted from base 3 to decimal
                # Main link
Ç               # Last link
 Œc             # All combinations of 2 items (with replacement)
      Ðf        # Remove every combination where this isn't true:
   S=¥          #   The sum of the two items is equal to N
        ⁸Ḣ      # Take the first combination left
          i     # Index of
           Ѐ   # Each element of the combination
             Ç  # In the sequence
              T # Return the truthy indices

1
@ জোনাথান অ্যালান ওহ, সম্পর্কে জেনে ভাল লাগছে Œc। এবং হ্যাঁ, ডেনিস S=¥আমার সাথে সমস্যাটি ব্যাখ্যা করেছিলেন ।
ডিজেএমসিএমহেম

দেখে মনে হচ্ছে আপনাকে শূন্যের জন্য অ্যাড-কেস হ্যান্ডলিংটি যুক্ত করতে হবে :(
জোনাথন অ্যালান

দেখে মনে হচ্ছে এটি 1-ভিত্তিক; উত্তরে এটি বলার অপেক্ষা রাখে না
লুইস মেন্ডো


3

পাইথন 2 , 51 বাইট

f=lambda n:[n and(n/2%3>r)+2*f(n/3)[r]for r in 0,1]

এটি অনলাইন চেষ্টা করুন!

কাজটি এইভাবে করা যেতে পারে:

  1. অর্ধেক ইনপুট
  2. টার্নারি তালিকায় রূপান্তর করুন
  3. এটিকে দুটি দিকের বাইনারি তালিকায় বিভক্ত করুন যা এর সাথে মৌলিক দিক যোগ করে
  4. বাইনারি থেকে সেই তালিকা রূপান্তর করুন

আমরা 0->0,1->1,2->1একটি তালিকার 0->0,1->0,2->1জন্য এবং অন্যটির জন্য রূপান্তর করে (3) এ বিভাজন করতে পারি । অর্থাৎ, যাচাই করে মানটি 0 বা 1 এর প্রান্তিকের উপরে।

দুটি মানগুলি সংশ্লিষ্ট পুনরাবৃত্ত ফাংশনগুলির দ্বারা পাওয়া যাবে:

p=lambda n:n and(n/2%3>0)+2*p(n/3)
q=lambda n:n and(n/2%3>1)+2*q(n/3)

ফাংশন fএই দুটিকে একটি তালিকা বোধের সাথে সংযুক্ত করে। সূচকীয় শাখার কারণে এটি অদক্ষ করে তোলে।

জটিল সংখ্যা যদি আউটপুট হতে পারে তবে আমরা এর সাথে 10 বাইট সংরক্ষণ করতে পারি:

f=lambda n:n and(n%6>1)+n%6/4*1j+2*f(n/3)

আমার ধারণা জটিল সংখ্যা ঠিক আছে।
জিওকাভেল

3

জে, 35 32 বাইট

($#:I.@,)@(=[:+/~3#.+:@#:@i.@>:)

এটি অনলাইন চেষ্টা করুন!

0-ইনডেক্সড এবং ইনপুট মারাত্মকভাবে দেওয়া হয়। সমস্ত সম্ভাব্য সংক্ষিপ্তরকে মানটিতে ফেরত দেয় (এটি বিবেচনা করে a bএবং b aবিভিন্ন সম্ভাব্য সংখ্যার হিসাবে হিসাবে)।

বুলিয়ান ম্যাট্রিক্স থেকে সূচকে রূপান্তর করতে প্রচুর কোড লাগে ...

আমি বাম দিকের কাঁটাচামচটিও সরিয়ে ফেলতে চাই যাতে আমাকে অনেকগুলি প্রথম বন্ধনী এবং @বিট ব্যবহার করতে না হয় তবে আমি এটি করার ভাল উপায়টি বের করতে পারি না (আমার বিকল্প পদ্ধতি কোনও বাইট সংরক্ষণ করে না )।

ব্যাখ্যা

ব্যাখ্যা এবং অনাবৃত করার উদ্দেশ্যে, মূল ফাংশনের নিম্নলিখিত উপাদানগুলি বিবেচনা করুন

valid_nums      =. = [: +/~ 3 #. +:@#:@i.@>:
indices_of_ones =. $ #: I.@,

বৈধ_নমস একটি বুলিয়ান ম্যাট্রিক্স উপস্থাপন করে যেখানে সূচকগুলি যোগফলের ক্রম মানগুলির সূচক হয়। যদি এই সূচকগুলিতে একটি থাকে তবে এর অর্থ হ'ল দুটি সংখ্যা ইনপুট মানের সমষ্টি।

সূচকগুলি_এফ_োনগুলি একটি স্বেচ্ছাসেবী র‌্যাঙ্ক বুলিয়ান ম্যাট্রিক্সে স্থানাঙ্কগুলি দেওয়ার জন্য একটি জে মুভি

মূল ফাংশন হিসাবে বেশ সহজভাবে রচিত হয়

indices_of_ones@valid_nums

valid_nums

= [: +/~ 3 #. +:@#:@i.@>:  Input is n
                 #:@i.@>:  Binary numbers in range [0,n]
              +:           Doubled
         3 #.              Interpreted as ternary
     +/~                   Addition table with self (sum all possible pairs)
=                          Equate to n

indices_of_ones

$ #: I.@,
        ,  Ravel matrix into a single list
     I.    Find the indices of ones in that list
  #:       Convert to the base given by
$          The shape of the matrix

,-আরভেল এই ক্ষেত্রে প্রতিটি সারিতে পরেরটিতে যোগ দিয়ে কাজ করে।

   i.3 3
0 1 2
3 4 5
6 7 8
   , i.3 3
0 1 2 3 4 5 6 7 8

আমরা দেখতে পাচ্ছি যে এটি যদি বুলিয়ান ম্যাট্রিক্স হত তবে দরিদ্র পাঠককে বিভ্রান্ত করতে যতটা সম্ভব প্রস্তুতিমূলক বাক্যাংশ ব্যবহার করে সেই ম্যাট্রিক্সের আকারের ভিত্তিতে রভলেড ম্যাট্রিক্সের সূচকগুলি সংখ্যার সাথে ব্যাখ্যা করে এটিগুলির স্থানাঙ্কগুলি পাওয়া যাবে ones ।


1
আপনার অপ্রয়োজনীয় আউটপুটগুলি ঠিক আছে।
জিওকাভেল

3

এমএটিএল , 22 21 19 17 বাইট

tQ:qBEI_ZA&+=R&fh

আউটপুট 1-ভিত্তিক। প্রোগ্রামটি সমস্ত সমাধান জোড়া উত্পাদন করে। এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

t      % Implicit input: n. Duplicate
Q:q    % Range [0 1 ... n]
B      % Convert to binary. Gives a matrix where each row corresponds to a number
E      % Multiply each entry by 2
I_ZA   % Convert each row from ternary to a number
&+     % Matrix of all pair-wise additions
=      % Does each entry equal n?
R      % Upper triangular matrix
&f     % Push row and column indices of nonzero entries
h      % Concatenate horizontally. Implicit didsplay

ওপি বলেছে যে মন্তব্যগুলিতে সমস্ত সমাধান উত্পাদন করা ঠিক ছিল
এইচপিউইজ

@ এইচ.পি.উইজ ধন্যবাদ! আমি এটি দেখিনি
লুইস মেন্ডো

2

পাইথ , 37 বাইট

0-ইন্ডেক্স

অবশ্যই গল্ফড না হিসাবে এটি হতে পারে।

KUQJmi:.Bd\1\23KhfqQ+@JeT@JhTsmm,dkKK

এটি অনলাইন চেষ্টা করুন!


1
34 বাইট: hfqQ+@Jmi:.Bd\1\23QeT@JhTsmm,dkUQU। সর্বাধিক স্পষ্টভাবে গল্ফ করা যেতে পারে
মিঃ এক্সকডার

1
33 বাইট:hfqQ+@Jmi:.Bd\1\23QeT@JhTsmm,dkUQ
মিঃ এক্সকোডার

2

পাইথ , 29 বাইট

এটি একটি সমস্ত সম্ভাব্য সূচকগুলি ফেরত দেয়।

fqQ+@Kmi:.Bd\1\23QhT@KeT.cUQ2

এখানে চেষ্টা করুন।

পাইথ , 30 বাইট

hfqQ+@Kmi:.Bd\1\23QhT@KeT.cUQ2

এখানে চেষ্টা করুন।

এটি সূচকগুলির জোড় হিসাবে প্রদান করে [LowerIndex, HigherIndex]


কিভাবে কাজ করে?

hfqQ+@Kmi:.Bd\1\23QhT@KeT.cUQ2   Full Program. Q means input throughout the whole explanation.

       m          Q               Map over the range [0, Q) with a variable d.
          .Bd                     Convert to binary.
         :   \1\2                 Replace 1 with 2.
        i        3                Convert it from base 3 to integer.
      K                           Assign the mapped range to a variable K.
                         .cUQ2    All possible two-element combinations of the range [0...Q).
    +@             hT@KeT         Sum of the integers on positions in K of the two-element
                                  combination.
 fqQ                              Filter those that equal the input.
h                                 Optional: Head. Take the first element.
                                  Print the result, implicitly. 

2

প্যারাডোক (v0.2.10), 11 বাইট (সিপি-1252)

½3B2>_B™2Bv

এটি অনলাইন চেষ্টা করুন!

অ্যালগরিদমভাবে এটি খুব নীলের ইএস 6 উত্তরের মতো । একটি নিম্ন স্তরের, এছাড়াও অদ্ভূত অনুরূপ উপর H.PWiz এর তুষ উত্তর । আমি আনন্দিত যে আমরা তিনটি ওভারলোডিংয়ের তিনটিই ব্যবহার করতে পারি B

স্ট্যাকের উপর একটি পূর্ণসংখ্যা নেয়, স্ট্যাকের উপর দুটি পূর্ণসংখ্যার একটি তালিকা রেখে দেয়।

ব্যাখ্যা:

½           .. Halve input
 3B         .. Convert to ternary
   2        .. 2, which will get implicitly coerced to [0,1]
    >_      .. Greater than, as a block
      B     .. "Bimap": take the block and map it over the Cartesian
            .. product of the last two lists to get a matrix
       ™    .. Transpose
        2Bv .. Convert each row from binary

1

পাইথন 3 , 122 120 বাইট

-২ বাইটস মিঃ এক্সকোডারকে ধন্যবাদ!

0-ইন্ডেক্স

def f(a):r=range(a);s=[int(bin(x)[2:].replace(*'12'),3)for x in r];return[(i,j)for i in r for j in r if s[i]+s[j]==a][0]

Ungolfed:

def f(a):
    r=range(a)
    s=[int(bin(x)[2:].replace(*'12'),3)for x in r]
    return[(i,j)for i in r for j in r if s[i]+s[j]==a][0]

এটি অনলাইন চেষ্টা করুন!


1
আশা করি তুমি কিছু মনে করনি. আমি একটি টিআইও লিঙ্ক যুক্ত করেছি।
মিঃ এক্সকোডার

1

গণিত, 94 বাইট

(w=#;Position[s,#]&/@#&@@(k=Select)[Tuples[s=k[Range@w,DigitCount[#,3,1]==0&],{2}],Tr@#==w&])& 


1-ইন্ডেক্স


1

জাভাস্ক্রিপ্ট, 120 101 বাইট

n=>[(A=[...Array(n+1)].map(Z=(a,b=a)=>b&&3*Z(b/2|0)+b%2*2))[F='findIndex'](a=>z=~A[F](b=>a+b==n)),~z]

এটি অনলাইন চেষ্টা করুন!

0-ইন্ডেক্স।
এটি সূচকগুলির জোড় প্রদান করে যেখানে একটি সূচক সম্ভব সবচেয়ে ছোট (উদাহরণস্বরূপ 428এটির ক্ষেত্রে ফিরে আসে 22,31)।


1

ব্রেন-ফ্লাক , 220 166 বাইট

উইকিতে মডুলো ফাংশনটি সন্ধান করে -54 বাইট, কিছু কাঠামোগত পরিবর্তনের অনুমতি দেয়

({()<({}[()()])>}{}){({}(<>))<>(()()())({()<(({})){({}[()])<>}{}>}{}<><([{}()]{})>[()])}([]){{}<>(({}){})<>(({}){}{()<({}[()]){<>({}())<>(<{}>)}>}{})([][()])}({}{}<>)

এটি অনলাইন চেষ্টা করুন!

0-ইন্ডেক্স।

ব্যাখ্যা

অন্যান্য অনেকগুলি সমাধানের মতোই, এটি এর ত্রৈমাসিক বিস্তারের গণনা করে এবং এটিকে n/2দুটি বাইনারি সংখ্যায় রূপান্তর করে।

পদক্ষেপ 1: ইনপুট 2 দ্বারা ভাগ করুন

({()<({}[()()])>}{})

 {              }     until number becomes zero:
     ({}[()()])       subtract two
( ()<          > {})  push number of iterations

পদক্ষেপ 2: গণনা তিনটি প্রসারিত

{({}(<>))<>(()()())({()<(({})){({}[()])<>}{}>}{}<><([{}()]{})>[()])}

 ({}(<>))<>         {   (({})){({}[()])<>}{} }{}<> ([{}()]{})         modulo (from wiki)
           (()()())                                                   use 3 as base
                     ()<                    >                         evaluate as 1 every time the 3 rolls over
                   (                              <          >[()])   push number of rollovers (function is now division with remainder)
{                                                                  }  repeat until quotient is zero, leaving all remainders on stack

পদক্ষেপ 3: সমাধানে রূপান্তর করুন

([]){{}<>(({}){})<>(({}){}{()<({}[()]){<>({}())<>(<{}>)}>}{})([][()])}({}{}<>)

([]){{}                                                      ([][()])}           repeat while stack height > 1:
                                                                                 (loop happens once when initial stack height is 1, but that's fine)
       <>(({}){})                                                                double smaller output number
                 <>(({}){}                                  )                    double larger output number
                          {                              }{}                     if digit in ternary expansion is nonzero:
                           ()<                          >                        add 1 to larger output number
                              ({}[()]){                }                         if digit is 2:
                                       <>({}())<>(<{}>)                          add 1 to smaller output number

0

জাভাস্ক্রিপ্ট (ES6), 70 72 বাইট

n=>[6,4].map(x=>parseInt((n/2).toString(3).replace(/./g,d=>x>>d&1),2)) // thanks @Neil
n=>[0,1].map(x=>parseInt((n/2).toString(3).replace(/1|2/g,d=>~-d||x),2))

(0-ইনডেক্সড এবং আপাতদৃষ্টিতে @ নীলের মতো প্রায় একই সমাধান এমনকি আমি যদি তার উত্তর না দেখিও)

আমি একটি সংখ্যা প্রক্রিয়ার বিপরীত ব্যবহার থেকে সূচক ফিরে পেতে দিয়ে অনুষ্ঠানটি শুরু: বেস 3 stringify, যে প্রতিস্থাপন 2সঙ্গে 1বেস 2, পার্স।

দুটি সংখ্যা পেতে এবং এটি প্রতি একের জন্য আমরা কেবলমাত্র অর্ধেক ইনপুট - তবে এখন, 1অঙ্কগুলিও ঘটতে পারে। সুতরাং আমরা এটিকে একটি 0সংখ্যায় একটি 2এবং অন্য সংখ্যায় একটি দিয়ে প্রতিস্থাপন করব , যা প্রতিস্থাপন এবং বিশ্লেষণের পদক্ষেপের আগে দুটির যোগফল পরিবর্তন করে না। আমি যা এলাম তা এখানে এসেছে (দুটি প্রতিস্থাপন 1-> 0-বা -2 এবং 2-> 1এক ধাপে):

n=>["001","011"].map(x=>parseInt((n/2).toString(3).replace(/./g,d=>x[d]),2))

অবশ্যই দুটি প্রতিস্থাপন মানচিত্র (স্ট্রিং) কেবলমাত্র একটি সূচকে পৃথক হয়, সুতরাং আমাদের কেবলমাত্র প্রতিস্থাপন করে 1এবং এর 2সাহায্যে অ্যারে আক্ষরিক সংক্ষিপ্ত করতে সক্ষম হওয়া উচিত d == 2 ? 1 : x। বা d-1 || x-1দুটি ইউনারি অপারেটর হিসাবে কোথায় একই - তবে তারা ভয়াবহ দেখাচ্ছে :-)

n/2আমার চারপাশে অ্যারে আক্ষরিক এবং প্রথম বন্ধনী এড়াতে চেষ্টা করার বিষয়টিও সামনে এলো

n=>Array.from(parseInt,(h=n/2,i)=>parseInt(h.toString(3).replace(/1|2/g,d=>~-d||i),2))

তবে ফলপ্রসূ হয় নি।


আমি ["001","011"]সংস্করণটি দিয়েও শুরু করেছি (ভাল আমার পরিবর্তনশীল নামগুলি পৃথক ছিল)
নীল

আমার মনে হয় .replace(/./g,d=>d>>1|x)2 বাইট সাশ্রয়
নীল

@ নীল দুর্ভাগ্যক্রমে এটি কাজ করে না d="0"এবং x=1- সংখ্যাটি থাকা উচিত0
বার্গি

হ্যাঁ, আমি আরও কয়েকটি পরীক্ষার মামলার চেষ্টা করার পরে সবেমাত্র কাজ করেছি। (এবং এরপরে আমি অন্য রূপ নিয়ে এসেছি, তবে এটি আমার জবাব দিয়ে যাচ্ছে, আমি ভীত।)
নীল

1
ওহ খুব সুন্দর, এবং আমি ভেবেছিলাম আপনার পূর্ববর্তী সংস্করণটি হারাতে আমি চালাক হয়ে
নীল

0

পাইথ, 22 বাইট

J.m}1jb3hQxLJhfqsTQ^J2

অনলাইনে চেষ্টা করুন: বিক্ষোভ

ব্যাখ্যা:

J.m}1jb3hQxLJhfqsTQ^J2
        hQ                input + 1 
 .m                       find all values of [0, 1, 2, ..., input], where
     jb3                     value converted to base 3
   }1                        check if it contains the digit 1
                          this boolean ^ is false
J                         store this list in variable J

                   ^J2    every pair of J
              f           filter for pairs with
                sT           sum of pair
               q             equal
                  Q          the input
             h            take the first of these pairs
          xLJ             and find the corresponding indices of J
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.