আমাকে নিকটতম রাক্ষস দেখান


42

একটি পৈশাচিক সংখ্যা হ'ল ধনাত্মক পূর্ণসংখ্যা যার দশমিক প্রতিনিধিত্ব কেবল 6 নিয়ে গঠিত demon

ধনাত্মক পূর্ণসংখ্যা দেওয়া, নিকটতম রাক্ষসী সংখ্যাটি আউটপুট করুন। যদি দুটি থাকে তবে বড়টি আউটপুট করুন।

Testcases:

n   output
1   6
2   6
3   6
6   6
35  6
36  66
37  66
100 66
365 66
366 666
666 666
999 666

এটি । বাইট জিতে সংক্ষিপ্ত উত্তর।


1
আমাদের সর্বাধিক সংখ্যাটি কী সমর্থন করতে হবে?
মিঃ এক্সকোডার

1
@ মিস্টার এক্সকোডার যত বড় আপনি সমর্থন করতে পারেন।
লিকি নুন

3
@ ল্যাকইনুন, আমি পিপিসিজি নিয়মিত না হলেও আমি বলব যে নিয়মটি আসলে দুর্দান্ত নয়, কারণ আমি কেবল বলতে পারি "আমি কেবল সংখ্যায় সমর্থন করতে পারি 34 কারণ আমি সবচেয়ে সংক্ষিপ্ত কোডটি পেতে চেয়েছিলাম"
ফেরিবিগ

5
@ ফেরিবিগ যতটুকু আপনি সমর্থন করতে পারবেন ততই মূলত ভাষা আপনাকে সীমাবদ্ধ রাখে।
লিকি নুন

3
দৃশ্যত নিকটতম পিশাচ Jörg ডব্লিউ Mittag
ব্যবহারকারী 2357112

উত্তর:


51

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

lambda n:'6'*len(`-~n*3/11`)

3
এটি একটি ঝরঝরে সমাধান।
লিকি নুন

বাহ যে চিত্তাকর্ষক। আমার ছিল তুচ্ছ পদ্ধতিতে ছাঁটা ব্যবহার করে 105 বাইট। নিস!
হাইপারনিউট্রিনো 21:58

4
খুব ঠান্ডা. আপনি কীভাবে এই অ্যালগরিদমটি নিয়ে এসেছেন?
ডেভিড জেড

সেটা খুবই ভালো. জেএস এর x=>'6'.repeat((''+-~(x*3/11)).length)
স্টিভ বেনেট

8
@ ডেভিডজেড ইঙ্গিত: গড় 666 এবং 6666 হল 3666 3.6666... = 11/3
orlp

14

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

f=(x,s='6')=>x<3+s?s:f(x,s+6)

"এই কারণেই, আমি দুর্বলতাগুলিতে আনন্দ করি […] কারণ যখন আমি দুর্বল, তখন আমি দৃ strong় হয়।"


বাহ, একবার জাভাস্ক্রিপ্টের ধরণের রূপান্তর হ'ল আপনার যা প্রয়োজন ঠিক তা :) এটি দুর্দান্ত।
স্টিভ বেনেট

"এই কারণেই, আমি দুর্বলতাগুলিতে আনন্দ করি […] কারণ আমি যখন দুর্বল, তখনই আমি শক্তিশালী” "Corinthians ২ করিন্থীয় ১২:১০
জন

@ জনডভোরাক "অতএব আমি দুর্বলতাগুলিতে আনন্দ করি [...] কারণ যখন আমি দুর্বল হয়ে পড়ে থাকি, তখন আমি দৃ .় হই।" শ্রুতিমধুর.
গোঁফ মোসেস


5

জাভা 7, 96 93 66 বাইট

String c(int n){String r="";for(n*=11/3;n>1;r+=6,n/=10);return r;}

উত্তর অফ পোর্ট অফ অরপাল আশ্চর্য পাইথন 2 উত্তর

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

আমি অনুমান করি আমার by 66 -বাইট-কাউন্টটিও একটি অসুর। ;)
(জাভা উত্তরটি বিটিডব্লু সবচেয়ে কম নয়, তার পরিবর্তে @ জলি জোকারের উত্তর দেখুন '


পূর্ণসংখ্যার গাণিতিক ব্যবহার কম হওয়া উচিত।
লিকি নুন

1
ক্যামন, গল্ফ আরও একটি বাইট দয়া করে! : পি
অলিভিয়ার

1
আপনার টেস্টকেসের কোনওটিই সঠিক নয়।
লিকি নুন

1
@ অলিভিগ্রগ্রোয়েয়ার দরকারে আর = "" বাগফিক্স হিসাবে, "তবে আপনার ইচ্ছা পান :)
জলি জোকার

@ ল্যাকিয়ুন ওফস .. ভুল কোডটি অনুলিপি করেছেন .. হওয়া "6"উচিত ছিল ""
কেভিন ক্রুইজসেন

4

জেলি , 9 বাইট

Ẇa6ḌạÐṂ⁸Ṫ

একটি monadic লিঙ্ক।

এটি অনলাইন চেষ্টা করুন! - এই লিঙ্কে প্রায় কোনও পয়েন্ট নেই (নীচে দেখুন)!

কিভাবে?

সত্য গল্ফারের স্টাইলে এটি সত্যই অক্ষম - এটি 365 পরীক্ষার ক্ষেত্রে টিআইওতে 60 এর দশকের সময়কে হিট করে ! স্থানীয়ভাবে এটি 37s এ শেষ হয়।

Ẇa6ḌạÐṂ⁸Ṫ - Main link: n
Ẇ         - all sublists - this has an implicit make_range on it's input
          -   so, for example, an input of 3 yields [[1],[2],[3],[1,2],[2,3],[1,2,3]]
          -   the important things are: that it contains both a list of the length of the
          -   decimal number, and a list 1 shorter; and that it's lists only contain
          -   non-zero numbers and are monotonically increasing in length.
  6       - literal 6
 a        - and (vectorises), this changes all the values to 6s
          -    so, the example above becomes [[6],[6],[6],[6,6],[6,6],[6,6,6]]
   Ḍ      - convert to decimal (vectorises)  [ 6,  6,, 6,  66,   66,   666   ]
       ⁸  - link's right argument, n
     ÐṂ   - filter keep those with minimal:
    ạ     -   absolute difference (for 366 this keeps 66 AND 666; same goes for 3666; etc.)
        Ṫ - tail - get the rightmost result (for 366 keeps 666, since it's longer)

মধ্যে 60 জন্য সীমা প্যাচ একই এলগরিদম চালানোর জন্য 365 এবং 366 Tio উপর অন্তর্নিহিত vectorisation এড়াতে হয় সঙ্গে Ẇa6Ḍ€ạÐṂ⁸Ṫ( যে চেষ্টা ), যাইহোক, এই হবে এখন একটি ইনপুট জন্য seg ফল্ট 999 ( ট্রায়াঙ্গেল (999) শুধুমাত্র 499,500 তবে প্রত্যেকটি সংক্ষিপ্তসারগুলির তালিকা, মোট টেট্রহেড্রাল তৈরি করে (999) = 166,666,500 পূর্ণসংখ্যা, মেমরি দক্ষ নয়, কমপক্ষে পাইথনে)।


3

একটি বন্দর কি ছোট হবে না?
লিকি নুন

আমি চেষ্টা করেছি এবং 10 পেয়েছি।
ডেনিস

ওহ, কোন সমস্যাটি 11 এবং 6 এর মধ্যে একটি স্থান সন্নিবেশ করা প্রয়োজন?
ফাঁস নুন

আপনি 11 এবং 6 একে অপরের পাশে কীভাবে রাখবেন তা নিশ্চিত নন ; আমি কিছু মিস করছি আমি ‘×3:11Ṿ”6ṁস্ট্রিং আউটপুট, ‘×3:11D6ṁḌপূর্ণসংখ্যার জন্য পেয়েছিলাম ।
ডেনিস


3

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

f=(n,i=0,j=6)=>n*2<j?i||6:f(n-j,i+j,j*10)

পরীক্ষার মামলা


3

গণিত, 36 বাইট

খাঁটি ফাংশন:

Max[NestList[6+10#&,6,#]~Nearest~#]&

ব্যাখ্যা:

    NestList[6+10#&,6,#]

Iterative মান থেকে শুরু করা NestListপ্যাটার্নটি অনুসরণ করে ইনপুট সমান দৈর্ঘ্যের একটি তালিকা তৈরি করুন ।6+10x(previous_value)6

                        ~Nearest~#

তারপরে ইনপুটটির নিকটে এই তালিকার মানটি সন্ধান করুন।

Max[                              ]

সর্বশেষে নিকটতম মানগুলির তালিকা থেকে সর্বাধিক মানটি গ্রহণ করুন।

তালিকাটির দৈর্ঘ্য অত্যন্ত অকার্যকর, কারণ গণিতিক নির্বিচারে নির্ভুলতার দৈর্ঘ্যের সংখ্যার সাথে কাজ করতে পারে এই প্রোগ্রামটি কেবল শারীরিক স্মৃতি দ্বারা সীমাবদ্ধ।



3

05 এ বি 1 ই , 10 9 বাইট

- 1 বাইট ধন্যবাদ রিলিকে

6׌ΣI-Ä}¬

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

উপরের কোডটিতে পারফরম্যান্স সংক্রান্ত সমস্যা থাকতে পারে, এখানে 10 বাইট সহ কিছুটা দক্ষ সংস্করণ দেওয়া হয়েছে: টিআইও বিকল্প

ব্যাখ্যা

6׌ΣI-Ä}¬   Main link. Argument n
6×          Push string containing '6' n times
  Œ         Push substrings
   Σ   }    Sort by result of code
    I-Ä     Absolute difference between n
        ¬   Head, implicit output

হ্যাঁ, তবে তারপরে এটি শেষ টেস্টকেসটিতে পারফরম্যান্স সংক্রান্ত সমস্যা ছিল। টিআইও-তে সর্বোচ্চ 60 সেকেন্ড এটি চালানোর জন্য যথেষ্ট ছিল না):
কলসওয়ারাস

@ রিলে ধন্যবাদ, আমি আমার উত্তর আপডেট করেছি :)
কলসওয়ারাস

2

গণিত, 76 বাইট

Max[Take[LinearRecurrence[{11,-10},{0,6},IntegerLength[#]+1],-2]~Nearest~#]&

2

নিম , 12 10 বাইট (প্রতিদ্বন্দ্বী)

-1 বাইট ধন্যবাদ স্টেনবার্গের জন্য

𝐥𝐈Γ6Θℝ)₁>𝕔

ব্যাখ্যা:

               Implicit input: [366]
𝐥               Push the length of the input
                [3]
  𝐈             Inclusive range
                [[1, 2, 3]]
   Γ            For each
       ℝ         Repeat
    6            6
     Θ           currently looped value times
                 [[6, 66, 666]]
          )     End for each
             𝕔  Get the closest value to
           ₁    The first line of input...
            >   ...incremented by one
                [666]
                Implicitly print entire stack

দুর্ভাগ্যক্রমে, 𝕔যদি দুটি সংখ্যার একই পার্থক্য থাকে তবে একটি তালিকার নীচের মানটি ফিরিয়ে দেব, সুতরাং এর জন্য আমাদের অ্যাকাউন্টে 2 বাইট যোগ করতে হয়েছিল।

হিসাবে এই প্রতিযোগিতামূলক হিসাবে প্রতিদ্বন্দ্বিতা করা হয়েছে >, <এবং এই প্রশ্নটি জিজ্ঞাসা করার পরে যুক্ত করা হয়েছিল (এবং 𝐥কেবল তালিকা নয়, সংখ্যাগুলির সাথে কাজ করার জন্য স্থির করা হয়েছিল)

দ্রষ্টব্য: 19 বা ততোধিক দৈর্ঘ্যের সংখ্যার জন্য কাজ করবে না - কারণ তারা জাভায় লম্বা লম্বা হাত পরিচালনা করতে পারে। (তবে এটি বেশ বড় মূল্য, এবং ভাল হওয়া উচিত)

চেষ্টা করে দেখুন


অবশ্যই আপনি এই উত্তরটি প্রতিযোগিতামূলক করতে পারেন ....
লিকি নুন

যেমন এটি কাজ যদি আপনি প্রতিস্থাপন করবে Γ6Θℝ)সঙ্গে ΓΘ𝐈Γ6)𝐣)?
লিকি নুন

@ লিক্যনুন আমি এটি একবার দেখে নেব
Okx

@ লেকিউন না, আমি মনে করি না এটির প্রতিযোগিতা করার কোনও উপায় আছে, কারণ এমবেডেড লুপগুলির সাথে একটি বাগ (বর্তমানে স্থির) ছিল।
Okx

কে হ্রাস পেয়েছে এবং কেন?
Okx

2

জাভা 8, 37 বাইট

 n->(""+-~n*3/11).replaceAll(".","6");

দ্বারা Going কেভিন Cruijssen উদাহরণ এবং শুধুমাত্র একটি স্ট্রিং ফেরত দিচ্ছে।

সঠিক দৈর্ঘ্য পেতে * 3/11 টি কৌশল করুন, তারপরে সমস্ত ছক্কা দিয়ে প্রতিস্থাপন করুন।


@ ল্যাকইনুন অবশ্যই মনোযোগ দিলে অবশ্যই -~এই পৃষ্ঠায় আমার দশবার দেখা উচিত ছিল তা যোগ করতে হবে ...
জলি জোকার

2
আমি 36 বাইট গণনা। আপনার কোডে একটি অপ্রয়োজনীয় ট্রেলিং সেমিকোলন এবং শীর্ষস্থান রয়েছে।
ফলসকে ফিরছেন

1

কিউবিআইসি , 37 27 বাইট

≈!@36`!<=:|A=A+!6$]?_sA,2,a

ম্যাথগুলি ব্যবহার করার পরিবর্তে ™ এটি এখন ডেমোনিক ডোমেনগুলির (36, 366, ...) ব্রেকগুলি সন্ধান করতে স্ট্রিং ম্যানিপুলেশন ব্যবহার করে। @ ইউশ '77 এর জেএস উত্তরে অনুপ্রাণিত।

ব্যাখ্যা

≈         |  WHILE <condition> 
 !    !        a numerical cast of
  @  `         the string literal A$
   36          starting out as "36"
       <=    is smaller than or equal to
         :   cmd line argument 'a'
A=A+ 6       Add a 6 to the end of A$ (36 ==> 366 ==> 3666)
    ! $         as a string-cast
]            WEND (ends the WHIOLE loop body)
?_sA         PRINT a substring of A$            n=37, A$ = 366
  ,2           starting at index 2                          ^
  ,a           running well past the end of the string      66


1

সি #, 142 বাইট

a=>{var c=(a+"").Length;return int.Parse(a<int.Parse(3+new string('6',c==1?2:(c==10?1:c)))?new string('6',c-1):new string('6',c==10?c-1:c));};

এটি সত্যটি ব্যবহার করে যে আমাদের প্রতি 36666-তে পরবর্তী ডিমনিক সংখ্যায় ঝাঁপিয়ে পড়তে হবে ... আরও পাঠযোগ্য আকারে:

var c = (a + "").Length; 
    return int.Parse(a < int.Parse(3 + new string('6', 
        c == 1 ? 2 : (c == 10 ? 1 : c))) 
        ? new string('6', c - 1) 
        : new string('6', c == 10 ? c - 1 : c));

2
আমি মনে করি স্ট্রিংয়ের পরিবর্তে পূর্ণসংখ্যার গাণিতিক ব্যবহার আপনাকে অনেকগুলি বাইট সংরক্ষণ করতে পারে।
লিকি নুন

ঠিক আছে, আপনি একটি সংখ্যাটিকে সি # তে একটি স্ট্রিংয়ে রূপান্তর করতে পারেন কেবল একটি স্ট্রিং যুক্ত করে কারণ এতে আমার ওভারলোডড + অপারেটর রয়েছে, যেমনটি আমার ১০২ বাইট উত্তরে দেখানো হয়েছে .. আমিও মনে করি না যে এটির পিছনে কোনও পার্স করার দরকার নেই প্রশ্নটি কেবলমাত্র "নিকটতম রাক্ষসী সংখ্যাটি আউটপুট" করতে আমাদের জিজ্ঞাসা করেছিল
লী


1

আমি এই প্রশ্নটি ফিডে দেখিনি, এবং কেবল এটি দুর্ঘটনার দ্বারা হোঁচট খেয়েছে। যাইহোক আমার উত্তর এখানে:

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

n=>`${-~n*3/11|0}`.replace(/./g,6)

একটি সংখ্যার উত্তরের জন্য 1 বাইট যুক্ত করুন। মূলত এই অব্যক্ত ES7 উত্তরের উপর ভিত্তি করে (37 বাইট, ইতিমধ্যে সংখ্যাসূচক):

n=>(10**(Math.log10(-~n*3/11)|0)*2-2)/3

বিরক্তিকরভাবে ওপি 36 এর চেয়ে 6 আরও 66 66 এর কাছাকাছি হতে চায় ব্যাখ্যা: ১১ / ৩ = 66.6666 ..., সুতরাং এই স্কেলগুলি দ্বারা ভাগ করে ......36,, ৩.....6666 ইত্যাদি পরিসীমা ১.৯.৯, ১০ ..৯৯.৯ ইত্যাদি। পরবর্তী দশমিক উচ্চতর শক্তির চেয়ে ২/৩ কম নিয়ে এটিকে নিখুঁতভাবে সংখ্যায় সমাধান করা যেতে পারে, যদিও এটি গল্ফিয়ারকে কাটা, স্ট্রিংয়ে রূপান্তর করা, তারপরে সমস্ত অক্ষরকে 6. সংখ্যায় পরিবর্তন করুন (যদিও এখনও সত্যিই চতুর পুনরাবৃত্ত উত্তরের মতো গোল্ফ নয়))


1

সিজেম, 25 বাইট

জোনাথন অ্যালানের জেলি জমা দেওয়ার মতো ধীর নয়, তবে ও (n²) মেমরির প্রয়োজন, যেখানে এন ইনপুট নম্বর। হ্যাঁ।

ri)__{)'6*i}%f-_:z_:e<#=-

এটি নিম্নলিখিত পাইথনের সমতুল্য:

num = int(input()) + 1                                      # CJam: ri)__
demondiffs = [int("6" * (i + 1)) - num for i in range(num)] # CJam: {)'6*i}%f-
absdiffs = [abs(i) for i in demondiffs]                     # CJam: _:z
mindex = absdiffs.index(min(absdiffs))                      # CJam: _:e<#
print(num - demondiffs[mindex])                             # CJam: =-

বিকল্প সমাধান, 12 বাইট

ri)3*B/s,'6*

এটি সিজেএমে অরলগের অ্যালগরিদমের অনুবাদ।

ব্যাখ্যা:

ri           e# Read integer:       | 36
  )          e# Increment:          | 37
   3*        e# Multiply by 3:      | 111
     B/      e# Divide by 0xB (11): | 10
       s     e# Convert to string:  | "10"
        ,    e# String length:      | 2
         '6  e# Push character '6': | 2 '6
           * e# Repeat character:   | "66"
e# Implicit output: 66

1

পিএইচপি, 49 বাইট

অক্ষর ছাঁটা 6

for(;trim($x=$argn+$i,6)>"";)$i=($i<1)-$i;echo$x;

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

এর পরিবর্তে trim($x=$argn+$i,6)>""আপনি একটি রেজিক্স সমাধান !preg_match("#^6+$#",$x=$argn+$i)+11 বাইট বা 6তুলনা strlen($x=$argn+$i)-strspn($x,6)+10 বাইটের সমান স্ট্রিং দৈর্ঘ্য ব্যবহার করতে পারেন


1

LOLCODE 1.4, 471 বাইট

HAI 1.4
CAN HAS STRING?
I HAS A i
GIMMEH i
I HAS A l ITZ I IZ STRING'Z LEN YR i MKAY
I HAS A s ITZ "3"
IM IN YR a
BOTH SAEM I IZ STRING'Z LEN YR s MKAY AN l
O RLY?
YA RLY
GTFO
OIC
s R SMOOSH s AN 6
IM OUTTA YR l
I HAS A o
DIFFRINT i AN BIGGR of i AN 4
O RLY?
YA RLY
VISIBLE 6
NO WAI
BOTH SAEM i AN SMALLR of i AN s
O RLY?
YA RLY
o R DIFF OF l AN 1
NO WAI
o R l
OIC
I HAS A f
IM IN YR b UPPIN YR k TIL BOTH SAEM k AN o
f R SMOOSH f AN 6
IM OUTTA YR b
VISIBLE f
OIC
KTHXBYE

কি দারুন. এখানে যে বর্ণহীন এবং ব্যাখ্যা করা হয়েছে:

HAI 1.4
CAN HAS STRING?
I HAS A input
GIMMEH input
I HAS A length ITZ I IZ STRING'Z LEN YR input MKAY BTW this is using the length function of the STRING library.
I HAS A sixes ITZ "3" BTW the average of for example [6...] and 6[6...] is 3[6...].
IM IN YR foreverloop BTW this loop fills the sixes variable.
    BOTH SAEM I IZ STRING'Z LEN YR sixes MKAY AN length # In LOLCODE, a statement containing only an expression assigns the implicit variable IT.
    O RLY? # Tests the current value in IT.
      YA RLY
        GTFO
    OIC
    sixes R SMOOSH sixes AN 6 BTW SMOOSH automatically casts things to YARN. It also does not need a MKAY unless there's something after it on the line.
IM OUTTA YR foreverloop
I HAS A outputlength
DIFFRINT input AN BIGGR of input AN 4 BTW LOLCODE doesn't have a built-in inequality operator. This just means input < 4
O RLY?
  YA RLY
    VISIBLE 6 BTW If it's less than 4, the algorithm of comparing to the nearest 3.6*10^n.
  NO WAI
    BOTH SAEM input AN SMALLR of input AN sixes BTW input<=sixes
    O RLY? BTW This if statement makes sure that if the input is less than 3.6*10^length, it goes to the previous place value's demon number.
      YA RLY
        outputlength R DIFF OF length AN 1
      NO WAI
        outputlength R length
    OIC
    I HAS A final
    IM IN YR forloop UPPIN YR iterator TIL BOTH SAEM iterator and outputlength
        final R SMOOSH final AN 6
    IM OUTTA YR forloop
    VISIBLE final
OIC
KTHXBYE

তবুও বাহ! আপনার জন্য এখানে কয়েকটি সিউডোভাসক্রিথন।

hello()
import string
var i
i=input()
var l=string.len(i)
var s="3"
while True:
  if(string.len(s)==l):
    break
  s=s+6
var o
if(i!=max(i,4)): # Basically if(i<4)
  print 6
else:
  if(i==min(i,s)): # Basically if(i<=s)
    o=l-1
  else:
    o=l
  var f
  for(var k=0;k<o;k++):
    f=f+6
  print(f)
exit()

তবুও পাও না? এই প্রোগ্রামটি মূলত স্রেফ (ইনপুটগুলি ১-২ বাদে) ইনপুটটির তুলনা করে ইনপুটটির দৈর্ঘ্য হ'ল, 6.6 * ১০ ^ n এর সাথে। এটি যদি এই সংখ্যার চেয়ে ছোট হয় তবে এটি দৈর্ঘ্যের চেয়ে 6 এস সংখ্যাটি কম ছাপায়। এটি যদি এই সংখ্যার চেয়ে বড় বা সমান হয় তবে ছক্কার সংখ্যাটি বর্তমান দৈর্ঘ্য।

কিছু সাহায্য গল্ফিং পছন্দ করবে!


0

হ্যাক্স, 70 বাইট

function(x){x*=3;x/=11;do{Sys.print('6');}while((x=Std.int(x/10))>0);}

Floatপূর্ণসংখ্যা হওয়া সত্ত্বেও ইনপুটটি টাইপ হিসাবে পাস করতে হবে , অন্যথায় হ্যাক্স একটি পূর্ণসংখ্যা ভাগ করার চেষ্টা করার বিষয়ে অভিযোগ করবে (হ্যাঁ হ্যাক্স কোনও সংখ্যার দ্বারা কোনও পূর্ণসংখ্যা ভাগ করলে সংকলন করতে অস্বীকার করবে)

অন্যান্য সমস্ত উত্তর হিসাবে একই। 3 দিয়ে গুণ করুন, 11 দিয়ে ভাগ করুন, 6প্রতিটি অঙ্কের জন্য 1 মুদ্রণ করুন ।


0

ব্রেইনফাক, 315 বাইট

,+>+++[>>+<<-]>>[<<<[>+>+<<-]>>[<<+>>-]>-]<+++++++++++<[>>+<<-]>>[<[>>+>+<<<-]>>>[<<<+>>>-]<[>+<<-[>>[-]>+<<<-]>>>[<<<+>>>-]<[<-[<<<->>>[-]]+>-]<-]<<<+>>]<[-]+<[>-]>[<+>->]++++++[<+++++++++>-]<<<[-]++++++++++>[>.<[<<+>>-]<<[>[<<+<+>>>-]<<<[>>>+<<<-]>[<+>>-[<<[-]<+>>>-]<<<[>>>+<<<-]>[>-[>>>-<<<[-]]+<-]>-]>>>+<<]>>]

এটি এখানে চালান । একটি কক্ষের আকার নির্বাচন করুন যা 3 * (এন + 1) এর মানগুলি পরিচালনা করতে পারে, সুতরাং পরীক্ষার সমস্ত ক্ষেত্রে কাজ করার জন্য 16 নির্বাচনকরুন this এটি কাজ করার জন্য ডায়নামিক (অসীম) মেমরিটি চালু করতে হবে। এটি টেপটি বাম দিকে প্রসারিত করতে দেয়। কোনও পূর্ণসংখ্যা ইনপুট করতে, পছন্দ মতো ইনপুটটি টাইপ করুন\366 এন = 366 এর ।

Ungolfed:

এই সমাধান হিসাবে একই অ্যালগরিদম ব্যবহার করে । প্রতিটি পৃথক পদক্ষেপের জন্য ব্যবহৃত অ্যালগরিদমগুলি এই পৃষ্ঠা থেকে নেওয়া হয়েছে । ব্যবহৃত সমস্ত অ্যালগরিদমগুলি নন-মোড়ক হয়, যাতে প্রোগ্রামটি বড় ইনপুটগুলির জন্য বিরতি না দেয়।

,+ # n = n plus 1
>+++ # 3
[>>+<<-]>>[<<<[>+>+<<-]>>[<<+>>-]>-] # n = n*3
<+++++++++++ # 10
<[>>+<<-]>>[<[>>+>+<<<-]>>>[<<<+>>>-]<[>+<<-[>>[-]>+<<<-]>>>[<<<+>>>-]<[<-[<<<->>>[-]]+>-]<-]<<<+>>] # n = n/10
<[-]+<[>-]>[<+>->] # if (n == 0) { n = n plus 1 }
++++++[<+++++++++>-] # '6' (54)
<<<[-]++++++++++> # 10
[ # while (n above 0)
  >.< # print '6'
  [<<+>>-]<<[>[<<+<+>>>-]<<<[>>>+<<<-]>[<+>>-[<<[-]<+>>>-]<<<[>>>+<<<-]>[>-[>>>-<<<[-]]+<-]>-]>>>+<<]>> # n = n/10
]

নিশ্চয়ই n=n*3কিছু গল্ফ করা যেতে পারে [->+++<]? এবং ডিভোডম অ্যালগরিদমটি 10 দ্বারা ভাগ করতে হবে?
জো কিং

134 বাইট , যা আরও উন্নত করা যেতে পারে
জো কিং

@ জোকিং বৃহত্তর পরীক্ষার কেসগুলি সমর্থন করতে আপনাকে নন-মোড়ককারী অ্যালগরিদম ব্যবহার করতে হবে, সুতরাং আপনার সমাধানটি আসলে কাজ করে না। আমি টিআইও ব্যবহার না করার একটি কারণ রয়েছে।
mbomb007

ওফস, আমি মোড়কের অংশটি সরিয়ে দেব, যা কেবল সংখ্যা ছিল। 140 বাইট (টিআইও কারণ কোড দেওয়া আরও সহজ) (ইওফ = 0)
জো কিং



0

সি #, 102 বাইট

string a(int j,int k=0)=>(j+"|"+(k=k==0?j:k)).Split('|').Where(s=>s.All(c=>c=='6')).Max()??a(j+1,k-1);

কিন্ডা এর দৈর্ঘ্যে হতাশ, জাভাতে সংক্ষিপ্ত উত্তর হিসাবে ঠিক একই কাজ করতে পারে তবে আমি সত্যিই বুঝতে পারি নি কারণ আমি একটি অলস, বোকা। নেট বিকাশকারী :)

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