সিকোয়েন্সটি অদলবদল করুন


9

আপনার টাস্কটি এমন কোনও কোড লিখতে হবে যা একটি OEIS ক্রম বহির্মুখী করে এবং কোডটিতে ( A______) এর ক্রমটির নাম ধারণ করে । সহজ যথেষ্ট? ঠিক আছে এখানে ধরা, আপনার কোডটিও যখন দ্বিতীয় সিকোয়েন্সের নাম পরিবর্তন করে কোডের সিকোয়েন্সটির নাম পরিবর্তন করা হয় তখন একটি পৃথক পৃথক সিকোয়েন্স অবশ্যই আউটপুট করতে হবে।

ইনপুট আউটপুট

আপনার কোডটি কোনও ফাংশন বা সম্পূর্ণ প্রোগ্রাম হতে পারে যা একটি স্ট্যান্ডার্ড ইনপুট পদ্ধতির মাধ্যমে n নেয় এবং OEIS পৃষ্ঠায় প্রদত্ত সূচী দ্বারা সূচক অনুসারে ক্রমের N ম পদটি আউটপুট করে ।

সেই অনুক্রমের জন্য আপনাকে অবশ্যই ওইআইএস বি ফাইলগুলিতে প্রদত্ত সমস্ত মানকে সমর্থন করতে হবে, বি ফাইলগুলিতে নেই এমন কোনও সংখ্যাকে সমর্থন করার প্রয়োজন নেই।

স্কোরিং

এই । আপনার স্কোরটি আপনার কোডের বাইটের সংখ্যা হবে, কম বাইট আরও ভাল হবে।

উদাহরণ

এখানে হাস্কেলের একটি উদাহরণ যা A000217 এবং A000290 এর জন্য কাজ করে।

f x|last"A000217"=='0'=x^2|1>0=sum[1..x]

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


স্পষ্ট করার জন্য: আপনার কোডটি এমন দুটি সিকোয়েন্সের জন্য কাজ করা উচিত যেখানে কোডটির সেই অংশে সিক্যুয়েন্সটির নাম রাখা হলে সেই অনুক্রমের সংখ্যাটি আউটপুট হবে?
হাইপারনিউটারিনো

@ হাইপারনিউটারিনো হ্যাঁ যখন ক্রমের নামটি এতে প্রতিস্থাপিত হয় তখন প্রোগ্রামটির ক্রিয়াকলাপটিকে দ্বিতীয় ক্রম হিসাবে পরিবর্তন করা উচিত।
অ্যাডহক গার্ফ হান্টার

1
কোডটিতে সিকোয়েন্সগুলিতে নেতৃস্থানীয় জিরো থাকতে হবে।
পিপ্পারি

@ পিপারি হ্যাঁ এটি করা উচিত।
অ্যাডহক গার্ফ হান্টার

1
হয় Aপ্রয়োজনীয়?
Okx

উত্তর:


8

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

n=>4&~0xA000004

A000004 (সমস্ত 0s) এবং A010709 (সমস্ত 4s) দিয়ে কাজ করে।

পূর্ববর্তী 17 বাইট সমাধান A010850 থেকে A010859 সহ অন্তর্ভুক্ত সহ কাজ করে:

n=>~-0xA010850%36

পূর্ববর্তী 25 বাইট সমাধান A010850 থেকে A010871 সহ অন্তর্ভুক্ত সহ কাজ করে:

n=>"A010850".slice(5)-39

এটি স্রেফ দেখানো হচ্ছে (আমি কতটা চতুর তা দেখতে
ওআইআইএসকে

অদ্ভুত - দুটি উত্তর 25 বাইটে শুরু হয়েছিল এবং উভয়ই এক মিনিটে 17 বাইটে গল্ফড হয়েছিল
পিপ্পারি

@ পিপ্পেরি হে, তবে আমি আপনার উত্তরটি পোর্ট করতে পারলাম এবং এটি কেবল 15 বাইট হবে ...
নিল

জেলির সাথে জেএস বাঁধা ?! খুব সুন্দরভাবে সম্পন্ন হয়েছে
শেগি

@ শেগি নোপ; একটি নতুন সংক্ষিপ্ত জেলি উত্তর পোস্ট করা হয়েছিল।
পিপ্পারি



3

cQuents , 16 বাইট

=A000007//5#|A:0

এটি অনলাইন চেষ্টা করুন! , A000007 ,1,0,0,0,0...

=A000004//5#|A:0

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

ব্যাখ্যা

                    Implicit input A
=A000007            First item in the sequence equals A * 7
        //5                                                 intdiv 5 = 1
           #|A      n equals A
              :     Mode : (sequence): output nth item (1-based)
               0    Rest of the sequence is 0

                    Implicit input A
=A000004            First item in the sequence equals A * 4
        //5                                                 intdiv 5 = 0
           #|A      n equals A
              :     Mode : (sequence): output nth item (1-based)
               0    Rest of the sequence is 0

জন্য কোনোর ব্রায়েন ধন্যবাদ 4//5 = 0এবং 7//5 = 1

যদি অনুমানটি আরও নমনীয় হয়, এটি হবে O7A$এবং O4A$



2

ডিসি , 13 বাইট

সম্পাদনা করুন: স্পষ্টতই ওআইআইএস শক্তিগুলি তালিকা থেকে 0তম অবধি তালিকাভুক্ত করে 30- আমি এই সিকোয়েন্সগুলিতে সবেমাত্র অনুসন্ধান করেছি এবং এটি দেখা যায় যে মূল 13বাইট সমাধানটি গল্ফিয়েস্ট। তবে আমি 1আরও বাইটের জন্য আরও একটি সমাধান পেয়েছি যা 9সিকোয়েন্সগুলির জন্য কাজ করে ।

জন্য সমাধান A000012 (ধ্রুব 1 এর ক্রম):

?A000012 4%^p

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

জন্য সমাধান A001477 (অ-নেতিবাচক পূর্ণসংখ্যার):

?A001477 4%^p

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

জন্য সমাধান A000290 (নিখুঁত স্কোয়ার ক্রম):

?A000290 4%^p

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

Ungolfed / ব্যাখ্যা

এই সমাধানগুলি সেই অর্থটিকে ব্যবহার করে যা dcব্যাখ্যা Aকরে 10, তাই A001477মান হয়ে ওঠে 10001477। উপরন্তু এটি শোষণ যে ক্রম n^0, n^1এবং n^2যা সঙ্গে সমানুপাতিক 10000012 % 4 == 0, 10001477 % 4 == 1এবং 10000290 % 4 == 2

সুতরাং এই ক্রম হয় xyz(n) = n ^ (xyz % 4)

Command          Description          Example (3) 
?              # Push the input       [3]
 A000290       # Push sequence name   [3,10000290]
         4%    # Top %= 4             [3,2]
           ^   # Pop x,y & push y^x   [9]
            p  # Print the top        [9]

9 সিকোয়েন্সগুলির জন্য 14 বাইট সমাধান

ধারণাটি এখনও একইরকম, % 97এবার আমাদের সঠিক শক্তি পাওয়ার জন্য একটি দরকার - এটি A010801 , A010802 , A010803 , A010804 , A010805 , A010806 , A010807 , A010808 এবং A010809 (এগুলি ক্রম n^13, .. ।, n^21)।

প্রথমটি এখানে:

?A010801 97%^p

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


1
দুটিরও বেশি ক্রম সমর্থন করার জন্য +1!
নীল

1

পাইথন 2, 25 17 বাইট

print'A000012'[5]

A000004 এবং A000012 এর জন্য কাজ করে। (ইনপুট উপেক্ষা করা হয় কারণ ক্রমগুলি সমস্ত ধ্রুবক পদ))


1

বেফঞ্জ 98, 10 বাইট

#A000012$q

A000004 এর জন্যও কাজ করে। প্রস্থান কোড দ্বারা আউটপুট।


1

জেলি , 17 বাইট

“A000578”OS%⁵ạ6*@

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

“A000578”OS%⁵ạ6*@  Main link
“A000578”          String
         O         Codepoints
          S        Sum (364 for A000290, 373 for A000578)
           %⁵      Modulo 10 (4 for A000290, 3 for A000578)
             ạ6    Absolute Difference with 6 (2 for A000290, 3 for A000578)
               *@  [left argument] ** [result of last link (right argument)]

এছাড়াও A000290 নিয়ে কাজ করে


অ ধ্রুব ক্রম ব্যবহার করে ভাল কাজ।
অ্যাডমবর্কবার্ক

1

পাওয়ারশেল , 23 বাইট

+(0xA000012-eq160mb+18)

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

ব্যবহার A000012 (সমস্ত বেশী ক্রম) এবং A000004 (সমস্ত শূন্য ক্রম)।

বেশ কয়েকটি ঝরঝরে কৌশল ব্যবহার করে। আমাদের 0xযে ক্রম দেয় তা হেক্সাডেসিমাল অপারেটর হিসাবে ব্যবহার করি 167772178। যে যদি তার দেখতে তুলনায় এর -equal করতে 160mb+18ব্যবহার mbঅপারেটর ( 160mbহয় 167772160)। যে বুলিয়ান ফলাফল তারপরে +যথাযথ 1বা আউটপুট সঙ্গে int হিসাবে নিক্ষেপ করা হয় 0। নোট করুন যে A000012 ব্যতীত কোডে যে কোনও সিকোয়েন্সের ফলাফল 0আউটপুট হবে।


1

নিম , 10 9 বাইট

A000012ᛄ>

ব্যাখ্যা:

A            Push 42
 000012      Push 4
 or
 A007395     Push 7395
        ᛄ     Modulo 2
         >    Increment

A000012 (সমস্তগুলি) এবং A007395 (সমস্ত দুটি)

একটি ফাংশন যা স্ট্যাকের শীর্ষে ইনপুট নেয় এবং স্ট্যাকের শীর্ষে আউটপুট ছেড়ে দেয়।

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


0

গাইয়া , 9 বাইট

A000012₉/

A000012 এবং A000004 দিয়ে কাজ করে ।

A000012 ব্যবহার করে দেখুন!

A000004 চেষ্টা করুন!

ব্যাখ্যা

A          Undefined (ignored)
 000012    Push 12
       ₉   Push 9
        /  Integer division, results in 1


A          Undefined (ignored)
 000004    Push 4
       ₉   Push 9
        /  Integer division, results in 0

সবাই কেন A00004 এবং A00012 পোস্ট করে রাখে?
পিপ্পারি

@ppperry A000004 হল শূন্য ক্রম এবং A000012 এর ক্রম the কেবল তলটি 9 দ্বারা বিভাজন করুন এবং ফলাফলকে চিরকালের জন্য আউটপুট করুন।
ইঞ্জিনিয়ার টোস্ট






0

হুশ , 20 বাইট

এই এক আরও কিছু আকর্ষণীয় ক্রম ফিরে আসে, আবার সমাধান হয় 1 হ'ল ইনডেক্স।

এটি A000040 (মূল সংখ্যা) এর জন্য কাজ করে :

!!i→"A000040"e:0İfİp

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

এবং এটি A000045 (ফিবোনাচি নম্বর) এর জন্য:

!!i→"A000045"e:0İfİp

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

ব্যাখ্যা

সিকোয়েন্স নামের শেষ অঙ্কের আলাদা পার্থক্য রয়েছে এই বিষয়টি ব্যবহার করে:

                      -- implicit input N
             e        -- construct a list with:
              :0İf    --   list of Fibonacci numbers (prepend 0)
                  İp  --   list of the prime numbers
  i→"Axxxxx?"         -- get the last character and convert to number,
 !                    -- use it as modular index (0 -> primes, 5 -> Fibonacci)
!                     -- get the value at the Nth index

0

এএইচকে , 40 বাইট

a:=SubStr("A000004",6)//9
Loop
Send %a%,

আউটপুট: 0,0,0,0,0,0,0,0,0,0,0,0,...

a:=SubStr("A000012",6)//9
Loop
Send %a%,

আউটপুট: 1,1,1,1,1,1,1,1,1,1,1,1,...

এটি সংক্ষিপ্ততম কোড নাও হতে পারে তবে আমি বাজি ধরে থাকি যে এটির সংক্ষিপ্ততর অনুক্রমের জুটি আমরা খুঁজে পেতে পারি। A000004 হ'ল শূন্য ক্রম এবং A000012 এটির ক্রম। কেবল তলটি 9 দ্বারা বিভাজন করুন এবং ফলাফলকে চিরকালের জন্য আউটপুট করুন।


0

কিউবিআইসি , 28 বাইট

p=!_s@A000035`,-1|!?:%2+5-p

এটি A000034 (1, 2, 1, 2, 1 ...) এবং A000035 (0, 1, 0, 1, 0, 1 ...) সিকোয়েন্সগুলির মধ্যে স্যুইচ করে

ব্যাখ্যা

p=                  Set p to 
  !            !    A numeric representation of
   _s         |     a substring of
     @A000035`      our sequence code (either A0035 or A0034)
     ,-1            taking just one character from the right.
?:%2                PRINT <n> MOD 2 (gives us a either 0 or 1)
    +5-p            Plus 1 for seq A24 (5-4), or plus 0 for A35

0

হুশ , 16 বাইট

উভয় সমাধান- 1সূচিযুক্ত।

এটি A000351 (5 টি পাওয়ার) এর জন্য কাজ করে :

!¡*i!6"A000351"1

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

এবং এটি A000007 (0 পাওয়ার) এর জন্য:

!¡*i!6"A000007"1

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

ব্যাখ্যা

এটি ব্যবহার করে যে A000351 , A000007 নামগুলি 6 অবস্থানে ডান ডিজিট ডি ধারণ করে, যেমন ক্রমটি হ'ল D^0,D^1,D^2,...:

                  -- implicit input N
   i!6"AxxxxDx"   -- get the right digit D and convert to number,
 ¡*            1  -- iterate (D*) infinitely beginning with 1,
!                 -- extract the value at Nth position

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.