রংধনুর শেষে ঘর


31

ব্রেনফাক , আমরা সবচেয়ে বিখ্যাত এবং প্রভাবশালী রহস্যময় ভাষাগুলির মধ্যে আমরা সবাই জানি বা কমপক্ষে শুনেছি । এই দিনগুলিতে বেশিরভাগ বাস্তবায়ন অসীম টেপ ব্যবহার করে, আরবান মুলারের মূল সংকলকটিতে 30000 কোষের একটি টেপ ছিল। একটি সামান্য পরিচিত তথ্য * হ'ল টেপের শেষে আসলে একটি বিশেষ মান রয়েছে যা সাধারণত ব্রেইনফাক প্রোগ্রামে প্রায়শই ইন্টারেক্ট হয় না।

আপনি যখন এই মূল্যটি 29999 >ও একটি দিয়ে মুদ্রণ করতে পারেন ., ব্রেনফাক তার সংক্ষিপ্ত এবং সংক্ষিপ্ত সমাধানের জন্য পরিচিত, তাই আপনার লক্ষ্য ন্যূনতম সংখ্যার সাথে এই মানটি মুদ্রণ করা।

* কথাসাহিত্য

নিয়মাবলী:

  • ব্রেইনফাকের নির্দেশাবলীতে একটি রিফ্রেশার:
    • +/ -: বর্তমান সেলটি বৃদ্ধি / হ্রাস, 255 থেকে 0 থেকে মোড়ানো যখন 255 বর্ধিত হয় এবং তদ্বিপরীত হয়
    • </ >: টেপের উপরে বাম / ডানদিকে সরান
    • .: বর্তমান ঘরটির মান মুদ্রণ করুন।
    • [: ]ঘরের মান 0 হলে সংশ্লিষ্টটিতে ঝাঁপুন
    • ]: [ঘরের মান 0 না হলে সংশ্লিষ্টটিতে ঝাঁপুন
  • এই ক্ষেত্রে ,(ইনপুট পান) কিছুই করে না, কারণ মূল সংকলকটি ইওএফটিতে সেলটি অপরিবর্তিত রেখে দেয় এবং এই প্রোগ্রামটির কোনও ইনপুট পাওয়া উচিত নয়।
  • টেপটি প্রাথমিকভাবে সমস্ত 0s দিয়ে পূর্ণ হয়, 30000 ঘর ব্যতীত, যার মধ্যে একটি অজানা মান রয়েছে
  • পয়েন্টারটি 1 কক্ষে শুরু হয় এবং এটি মুদ্রিত হয়ে 30000 কক্ষে শেষ হওয়া উচিত।
  • 1 এর বামে এবং 30000 এর ডানদিকে কক্ষগুলির অপরিজ্ঞাত আচরণ রয়েছে, সুতরাং সমাধানগুলি এই কোষগুলিতে যাওয়া উচিত নয়
  • লক্ষ্য করুন 30000 মান হয় 0 হতে পারে, যতক্ষণ না আপনি আঘাত একটি নন-জিরো সেল কাজ পারবেন না, তাই কেবল লুপিং।
  • আপনার কেবল 30000 কক্ষে মানটি মুদ্রণ করা উচিত
  • সবচেয়ে সংক্ষিপ্ত সমাধান জিতে!
    • টাই-ব্রেকার হ'ল আরও কার্যকর প্রোগ্রাম (কমপক্ষে পদক্ষেপে কার্যকর করা হয়), তারপরে দ্রুততম জমা দেওয়ার সময়।

টিপ: Esolanging ফল আপনার কোড পরীক্ষা করতে https://copy.sh/brainfuck ব্যবহার করার পরামর্শ দেয় । চশমাগুলি যেমন এই চ্যালেঞ্জটিতে বর্ণিত হয়েছে, এবং আপনি abortবিকল্পটি নির্বাচন করতে পারেন যাতে আপনার প্রোগ্রামটি সীমা ছাড়িয়ে যায়।



3
1 বাইট: .। আমি জিতেছি.
এসোলং ফলমূল

1
@ এসোলাংফ্রুট আমাকে দয়া করে আমার বিভ্রান্তি দিন ...
জো কিং

1
আমি নিয়মটি পরিবর্তনের পরামর্শ দিচ্ছি "প্রাথমিকভাবে সমস্ত কক্ষের 0 টির মান রয়েছে, শেষ ঘরটি যার অজানা মান রয়েছে" ব্যতীত।
ব্যবহারকারী 202729

4
এটি করার জন্য যে কোনও ব্যক্তির জন্য পরামর্শ: copy.sh/brainfuck সম্ভবত এটি করার জন্য সেরা সাইট, কারণ এটি এই চ্যালেঞ্জটিতে বর্ণিত বিএফ প্রয়োগ করে এবং ডিফল্টরূপে 30k টেপ থাকে। টেপের শেষে ডানদিকে চলে যাওয়ার কারণে দোভাষীকে স্তব্ধ করতে হয়।
33:৩৩ এ ফলটি Esolanging

উত্তর:


17

54 বাইট

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

119 x 252 = 29988. সোজা নেস্ট করা লুপ।

29999 এ পয়েন্টারটি থামবে কিনা তা যাচাই করতে আমি এই সরঞ্জামটি ব্যবহার করেছি।


12

50 বাইট

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

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

প্রথম বিভাগ ( >+[>+[<]>->+]>-<<) টেপটি সেট আপ করে

0*12 121' 0 110

পরবর্তী বিভাগ ( [>>-------[[>]+[<]>-]<<-]) 121 বার পুনরাবৃত্তি করে, 1প্রতিবার টেপের শেষে 249 টি যুক্ত করে । আপনি যদি গণিতের সাথে দ্রুত হন তবে আপনি এই 121 * 249 এর ফলাফলটি 30129 1s এর মধ্যে উপলব্ধি করতে পারেন , তবে প্রথম পুনরাবৃত্তির সাথে ডিল করার জন্য অবশিষ্ট 110 রয়েছে এবং টেপটিতে কেবলমাত্র ( 110-7103) 1সংযোজন রয়েছে, যার অর্থ কেবল 29983 1s রয়েছে। চূড়ান্ত টেপটি দেখতে:

0*12 0' 0 0 1*29983 0 ???

এবং >>>[>]>.মানটি মুদ্রণের জন্য একটি চূড়ান্ত ।

নোটের অন্যান্য কিছু অ্যালগোরিদম:

  • 252 * 119 = 29988 (এছাড়াও 50 বাইট)
  • 163 * 184 = 29992 (56 বাইট)
  • 204 * 147 = 29988 (60 বাইট)
  • 153 * 196 = 29988 (56 বাইট)
  • 191 * 157 = 29987 (57 বাইট)
  • 254 * 118 = 29972 (56 বাইট)
    • এটিই আমি হ'ল 50টিকে মারার পরের নিকটতম হিসাবে বিবেচনা করি, যেহেতু অতিরিক্ত বাইটগুলি মূলত কেবল অতিরিক্ত দূরত্বের ভ্রমণ করে। যদি আমি একটি অ্যালগরিদম খুঁজে পেতে পারি যা 118 উত্পন্ন করে এবং 14 টিরও বেশি কোষ ভ্রমণ করে, এটি এটি পরাজিত করতে পারে।

3

81

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

এটি 200 বার 150 কোষের উপরে চলে যায়।

এটি হওয়া আমার চেয়ে অনেক বেশি দীর্ঘ এবং গল্ফ করার ক্ষেত্রে মারাত্মক বাধা রয়েছে:

আমি কেন জানি কাজ করি না।

এটি বাইরের লোকদের ক্ষতিপূরণ দিয়ে এমন জায়গায় আবদ্ধ হয় যেখানে তাদের মধ্যে কিছু সম্ভবত বাতিল হতে পারে। আমি বিভিন্ন বিভাগগুলিকে এত বেশি সংযুক্ত এবং মুছে ফেলেছি যাতে আমি মনে করি না যে আমি কেন কিছু নির্দিষ্ট জিনিস রেখেছি (উদাহরণস্বরূপ, প্রথম অংশটি কেন টেপ কোষগুলিকে 200 এবং 150 এর পরিবর্তে 199 এবং 151 এ আরম্ভ করে?)।

যাইহোক যাইহোক, এই মনস্ট্রিসির আমার মন্তব্য করা সংস্করণটি এখানে, এই আশায় যে আমি (বা অন্য কেউ) তাদের দরকারী বলে খুঁজে পেতে পারি:

-[+>+[<]>++]<<+[-->-[-<]>]>-

0 0 0 199' 155

[
  n' k 0
  >[
    n k' j
    ->+[[->+<]<]>
    0' n k-1 j+1 OR
    n 0 0' j+1
    >>
  ]
  0*k n 0 0 k 0'
  <[-<<+>>]<<<-
  0*k n-1' k
]
>-------[[->+<]>-]>.

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

তাহলে একটি যুক্ত করুন ., এটি সাহায্য করবে?
ব্যবহারকারী 202729

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