ফ্র্যাক্ট্রানকে ব্রেইনফাকে রূপান্তর করুন


18

পটভূমি

ফ্র্যাক্ট্রান হ'ল জন কনওয়ের দ্বারা উদ্ভাবিত একটি রহস্যময় টুরিং-সম্পূর্ণ প্রোগ্রামিং ভাষা language একটি ফ্র্যাক্ট্রান প্রোগ্রামে ভগ্নাংশের একটি আদেশযুক্ত তালিকা থাকে। প্রোগ্রামটি ইনপুট হিসাবে একক পূর্ণসংখ্যা গ্রহণ করে শুরু হয়। প্রোগ্রামটির প্রতিটি পুনরাবৃত্তি, এটি প্রথম ভগ্নাংশের জন্য তালিকার সন্ধান করে যেমন ভগ্নাংশের মাধ্যমে সংখ্যাটি গুণের ফলে আরও একটি পূর্ণসংখ্যার উত্পাদন হয়। এটি তালিকার শুরুতে আবার শুরু করে নতুন সংখ্যাটি দিয়ে এই প্রক্রিয়াটি পুনরাবৃত্তি করে। তালিকায় কোনও ভগ্নাংশ নেই যা সংখ্যার সাথে গুণিত হতে পারে, প্রোগ্রামটি সমাপ্ত হয় এবং আউটপুট হিসাবে নম্বর দেয়।

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

চ্যালেঞ্জ

আপনার কাজটি হ'ল সংক্ষিপ্ততম প্রোগ্রামটি লিখতে যা STDIN থেকে তার একমাত্র ইনপুট হিসাবে একটি বৈধ ফ্র্যাক্ট্রান প্রোগ্রাম নিতে পারে এবং ফ্র্যাক্ট্রান প্রোগ্রামকে অনুকরণকারী STDOUT এ একটি বৈধ বিএফ প্রোগ্রাম উত্পন্ন করে। দুটি উপায় রয়েছে যে আপনি বিএফের সাথে ফ্র্যাক্ট্রান প্রোগ্রাম অনুকরণ করতে পারেন।

দ্রষ্টব্য: আপনার উত্তরটি কোনও বিএফ প্রোগ্রাম নয়। আপনার উত্তরটি হ'ল কোড যা কোনও প্রদত্ত ফ্র্যাক্ট্রান প্রোগ্রাম থেকে বিএফ প্রোগ্রাম উত্পন্ন করে। লক্ষ্য হ'ল বিএফ প্রোগ্রামটি ফ্র্যাক্ট্রান প্রোগ্রামের সমতুল্য হয়। (প্রযুক্তিগতভাবে আপনি বিএফ-তে প্রতিযোগিতা করতে পারবেন তবে এটি শক্ত হবে)

বিকল্প 1

আপনার প্রোগ্রামটি এমন একটি বিএফ প্রোগ্রাম আউটপুট করবে যা নিম্নলিখিতগুলি করে:

  • সংশ্লিষ্ট ASCII চরিত্রের আকারে (STFIN থেকে বিএফ ইনপুট যেভাবে কাজ করে) আকারে ঠিক 1 নম্বর নেয়, যা ফ্র্যাক্ট্রান প্রোগ্রামের ইনপুট।
  • সংশ্লিষ্ট ASCII চরিত্রের আকারে ঠিক 1 নম্বর STDOUT এ মুদ্রণ করে, যা ফ্র্যাক্ট্রান প্রোগ্রাম থেকে আউটপুট।

এই বিকল্পটি হ'ল একটি ফ্র্যাক্ট্রান ভার্চুয়াল মেশিন থেকে সঠিক ইনপুট এবং আউটপুট উপস্থাপন করতে।

বিকল্প 2

আপনার প্রোগ্রামটি যে বিএফ কোড তৈরি করে তা নিম্নলিখিত কাজগুলি করা উচিত:

  • ইতিমধ্যে মেমোরিতে এনকোড হওয়া সংখ্যার প্রাথমিক ফ্যাক্টরীকরণ (প্রোগ্রাম চালানোর আগে) রেখে ইনপুট নিন। যদি ইনপুটটি 28 (2 * 2 * 7) হয়, তবে দ্বিতীয় কক্ষে 2 এর মান এবং সপ্তম কক্ষে 1 এর মান (পয়েন্টারটি সেল 0-এ শুরু হবে) থাকবে। অন্যান্য সমস্ত ঘর শূন্য হবে।
  • প্রোগ্রামটি শেষ হয়ে গেলে মেমরিতে এনকোড করা আউটপুটটির প্রাথমিক ফ্যাক্টরীকরণের মাধ্যমে আউটপুট দিন। যদি আউটপুট 10 হয়, তবে অবশ্যই প্রতিটি কোষ 2 এবং 5 এর মধ্যে 1 টির মান থাকতে হবে other অন্য সমস্ত মৌলিক সংখ্যাযুক্ত কোষের অবশ্যই শূন্যের মান থাকতে হবে। অন্যান্য কোষের বিষয়বস্তু কোনও বিষয় নয়।

এই বিকল্পটি ফ্র্যাক্ট্রান ভাষার পিছনে কম্পিউটিং মডেলকে উপস্থাপন করে।

বিধি এবং প্রয়োজনীয়তা

  1. ইনপুট (আপনার প্রোগ্রামের শীর্ষে) STDIN এ ভগ্নাংশের তালিকা হবে। অংক এবং ডিনোমিনেটরের মধ্যে কমা সহ এক লাইন প্রতি ভগ্নাংশ থাকবে। একটি খালি লাইন ইনপুটটির শেষ প্রতিনিধিত্ব করে। ভগ্নাংশ সর্বদা সর্বনিম্ন শর্তে হ্রাস পাবে।
  2. আপনার প্রোগ্রামের আউটপুটটি একক লাইনের, STDOUT এর জন্য বৈধ BF প্রোগ্রাম হওয়া উচিত। এই প্রোগ্রামটি দুটি বিকল্পের মধ্যে একটি অনুযায়ী সেই নির্দিষ্ট ফ্র্যাক্ট্রান প্রোগ্রামটি অনুকরণ করতে সক্ষম হওয়া উচিত। যে কোনও ইনপুটটির জন্য, উত্পন্ন বিএফ প্রোগ্রামটি ফ্র্যাক্ট্রান প্রোগ্রামের মতো একই আউটপুট উত্পাদন করতে সক্ষম হওয়া উচিত।
  3. আপনি অবশ্যই পছন্দ করবেন যে বিকল্পটি আপনি বেছে নিয়েছেন।
  4. আপনি BF মেমরি এবং টেপের সীমানা চয়ন করতে পারেন এবং সেগুলি মোড়ানো হচ্ছে কিনা
  5. কোড গল্ফ এছাড়াও, আউটপুটযুক্ত বিএফ প্রোগ্রামগুলির আকারের বিষয়টি বিবেচনা করে না, কেবল রূপান্তরকারী প্রোগ্রামের আকার the
  6. প্রোগ্রামগুলি কেবল প্রিন্টযোগ্য এএসসিআইআই সমন্বিত হওয়া উচিত

আমি যদি কোথাও অস্পষ্ট, জিজ্ঞাসা করতে দ্বিধা করবেন না। এটি বর্ণনা করা খুব জটিল চ্যালেঞ্জ।

এছাড়াও, আপনার প্রোগ্রামটি কাজ করছে কিনা তা যাচাই করার একটি সহজ উপায় সরবরাহ করার জন্য, দয়া করে নীচের ইনপুটটির জন্য আপনার প্রোগ্রামটির উত্পন্ন বিএফ কোড পোস্ট করুন:

33,20
5,11
13,10
1,5
2,3
10,7
7,2

এই প্রোগ্রামটি একটি সংখ্যার বাইনারি প্রসারণে 1 এর সংখ্যা গণনা করে। যাইহোক, ইনপুট এবং আউটপুট অদ্ভুতভাবে ফর্ম্যাট করা হয় (সমস্ত ফ্র্যাক্ট্রান প্রোগ্রামগুলির মতো)। ইনপুটটি 2 2 A ফর্মের হয়, যখন আউটপুট 13 ^ B ফর্মের হয়।


সুতরাং মূলত আপনি ব্রেনফাকের একজন ফ্র্যাক্ট্রান দোভাষী চান। অন্য সব কিছুই মোটামুটি তুচ্ছ।
captncraig

@ সিএমপি আমি এমন একটি প্রোগ্রাম চাই যা ফ্র্যাক্ট্রান প্রোগ্রামের বিএফ সংস্করণকে ছাড়িয়ে যায়। এই রূপান্তরটি যে কোডটি করে তা বিএফের মধ্যে থাকতে হবে না। বিএফ প্রোগ্রাম নিজেই একক-উদ্দেশ্যমূলক।
ফিনোটপিআই

1
আমরা যে ব্রেইনফ্যাক ইন্টারপ্রেটার ব্যবহার করি তাতে কি সীমাবদ্ধতা রয়েছে? আমাদের কি বাইট সাইজের সেলগুলি ব্যবহার করা উচিত, না আমরা ইনট সেল ব্যবহার করতে পারি? বাউন্ডারি স্মৃতি? মোড়ানোর স্মৃতি? কোষ মোড়ানো? আমরা যা কিছু চাই তা কাজ করে?
ক্যাপচার্যাগ

আপনি যে কোনও কিছু এটি কার্যকর করতে চান তবে দয়া করে আপনার উত্তরে নির্দিষ্ট করুন।
ফিনোটপিআই

1
এটি সম্ভবত বিএফ দিয়ে সমাধান করা সম্ভব ...
mbomb007

উত্তর:


7

পাইথন, 182 অক্ষর

বিকল্প 1, স্ট্যান্ডার্ড বাইট সেলগুলি। কেবলমাত্র 255 টি সম্ভাব্য ইনপুট রয়েছে (0 ইনপুটটি আসলে কোনও অর্থ দেয় না), তাই আমি পাইথনে কেবল 255 বার একটি ফ্র্যাক্ট্রান দোভাষী চালাচ্ছি এবং ফলাফলগুলি এনকোডিংয়ের জন্য একটি সাধারণ টেবিল লুকানোর ব্রেনফাক প্রোগ্রাম উত্পন্ন করি।

import sys
I=map(eval,sys.stdin)
P='+>,'
Q=''
for i in range(1,256):
 while i:j=i;i=([i*x/y for x,y in I if i%y==0]+[0])[0]
 r=j&255;P+='-[';Q=']<[-'+'+'*r+'.'+'-'*r+']>'+Q
print P+Q

উদাহরণ ইনপুট (আউটপুট ___= 246 আরও নেস্টেড শর্তাদি, পুরো ফলাফলটি খুব বড় হওয়ায় আমি পেস্ট করতে পারি না):

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

1
@ ফিলনটপি: সত্য, আমাকে লুপিং এবং একটি বিশেষ কেস সনাক্ত করতে হবে যা ...
কেথ র্যান্ডাল

7
আসলে, আমি মনে করি যে প্রদত্ত ফ্র্যাক্ট্রান প্রোগ্রাম একটি অন্তহীন লুপ কিনা তা নির্ধারণ করা থামানো সমস্যার সমতুল্য। সে জন্য শুভকামনা। :)
PhiNotPi

1
একটি আকর্ষণীয় পদ্ধতির। কেবলমাত্র ত্রুটি হতে পারে যদি ফ্র্যাক্ট্রান স্পেক বলে 255 এরও বেশি আউটপুট পরিচালনা করতে হবে যা আমি জানি যে অনেকগুলি প্রোগ্রাম নির্ভর করে, সুতরাং কেবলমাত্র এলএসবি ফলাফলটি গ্রহণ করা কিছুটা অদ্ভুত বলে মনে হয়।
ক্যাপচার্যাগ করুন

1
@ সিএমপি, প্রশ্নটিতে সুনির্দিষ্টভাবে বলা হয়েছে যে বিকল্প 1 এর ইনপুটটি এসকিআই থেকে নেওয়া হয়েছে।
বুথবি

1
@ ফিলিপটপি কোনও প্রোগ্রাম থামছে কিনা তা নির্ধারণ করে, এটি অন্য ভাষায় অন্য কোনও প্রোগ্রাম তৈরি করতে সক্ষম হওয়ার চেয়ে কিছুটা আলাদা যে এটি যদি থেমে থাকে এবং কেবল যদি আসলটি বন্ধ হয়। পূর্ববর্তীটি অসম্ভব, যদিও পরেরটি প্রতিদিন সংকলকগণ দ্বারা সম্পন্ন করা হয়।
ক্রাঙ্কার

3

পাইথন, 420 টি অক্ষর

এটি 1 এবং 2 বিকল্পের এক ধরণের মিশ্রণ ব্যবহার করে: এটি ধরে নিয়েছে যে ব্রেনফাকটি বড় সংখ্যায় প্রয়োগ করা হয় (আমি একটি সেজ বাস্তবায়ন ব্যবহার করি)। একটি ফ্র্যাক্ট্রান প্রোগ্রাম ইনপুট করুন, উদাহরণস্বরূপ 33/20,5/11,13/10,1/5,2/3,10/7,7/2,। তারপরে, একটি নম্বর প্রাক-লোড করুন, উদাহরণস্বরূপ, 2^5কার্সারে। তারপরে, এই অজগর স্ক্রিপ্টটির আউটপুট চালান। 44 সেকেন্ড অপেক্ষা করুন। ফলাফলটি, 13^2যেখানে কার্সার শুরু হয়েছিল সেখানে বসে। আমি উত্তরটির জন্য অপেক্ষা করিনি 2^7

s="[->>>+<<<]+["
for l in raw_input().split(','):
 a,b=map(int,l.split('/'))
 s+="[->+>+<<]>[-<+>]>[->[->+>>+<<<]>[-<+>]>>["+"[->+>+<<]>>[-<<+>>]<[[-]<-[->+>+<<]>>[-<<+>>]<<>[[-]<<->>]<<+[<[-]>-]>>]<"*(b-1)+"[->+>+<<]>>[-<<+>>]<[[-]<-[->+>+<<]>>[-<<+>>]<<>[[-]<<<->>>]<<<++>>>]<]<<[->+>+<<]>>[-<<+>>]<[[-]<->]<[<[-]>[-<+>]<"+"[->+>+<<]>[-<+>]<"*a+"[-]>>[-<<+>>]<<<<<->>>>]<<]<<"
print s+">+<[->-<]>[-<+>]<]>>>[-<<<+>>>]"

এটি আমার প্রথম ব্রেইনফাক স্ক্রিপ্ট। এটি অবশ্যই আরও গল্ফ করা যেতে পারে তবে আমি আজ রাতের পর পর্যন্ত অন্যান্য জিনিসগুলি পেয়েছি।

সম্পাদনা করুন: আরও এই গল্ফের চেয়ে, আমি বিকল্প 2 জন্য একটি সমাধান উপর কাজ করছি, এছাড়াও, অনুরোধ প্রোগ্রামের জন্য আউটপুট এখানে:

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

এটি একটি দুর্দান্ত প্রথম ব্রেইনফাক স্ক্রিপ্ট, +1। আপনি উপায় দ্বারা 5 সেকেন্ডেরও কম সময়ে আমার ব্রেইনফাক দোভাষীর 2^7সাথে গণনা করতে পারেন । এছাড়াও, এটির পরিবর্তে হওয়া উচিত নয় (বা এটি এমন কিছু কোলাহল যা আমি জানি না)? raw_input()raw_input
অনুলিপি করুন

কপি, ধন্যবাদ! আপনি ঠিক বলেছেন, raw_input()প্রয়োজনীয়। আমি অবাক নই যে উপযুক্ত ব্রেইনফাক দোভাষী আমার ভয়ঙ্কর নিষ্পাপ সেজ বাস্তবায়নের চেয়ে আরও ভাল কাজ করেছেন।
বুথবি

2

পার্ল, 326 টি অক্ষর

আমি আরও নিজের উত্তর উত্সাহিত আশা করি আমার নিজের প্রশ্নের উত্তর দিতে যাচ্ছি। আমি অবশ্যই জয়ের যোগ্য নই। আনবাউন্ডেড মেমরি এবং কোষগুলির সাথে এটি বিকল্প 2, যদিও এটি কোষ মোড়ানোর কাজ করে। প্রতিটি ভগ্নাংশ কোডের একক ব্লকে রূপান্তরিত হয়। নতুনলাইনগুলি পাঠযোগ্যতার জন্য।

L:{$A=<>;
if($/eq$A){last L}
($B,$C)=eval$A;
$D=$E=$F=$G=$H=2;
while($C>1){
if($C%$H==0){
$C/=$H;
$R=">"x$H;
$L="<"x$H;
$D.=$R.'[-'.$L;
$E.=$R.'-'.$L;
if($H>2){$R.="+[->+<]]>[-<+>]<"}
else{$R.="+[-<+>]]<[->+<]>"}
$G=$R.$L.$G;
$H--}$H++}
$H=2;while($B>1){
if($B%$H==0){
$B/=$H;
$F.=">"x$H.'+'.'<'x$H;
$H--}$H++}
$I="+[-$I$D$E+$F$G]";
redo L}print$I

এখানে উদাহরণ আউটপুট। এটি অন্যান্য চরিত্রগুলিকে মন্তব্য হিসাবে উপেক্ষা করা হয় এ বিষয়টি গ্রহণ করে। অন্যান্য এন্ট্রিগুলির তুলনায় এটি খুব সংক্ষিপ্ত আউটপুট হিসাবে উপস্থিত বলে মনে হয়, যদিও আউটপুট আকারটি প্রযুক্তিগতভাবে গুরুত্বপূর্ণ নয়।

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

1

Ageষি, 431 অক্ষর

এটি সম্পূর্ণ নতুন সমাধান। ব্রেইনফাকের জিনিসগুলি করার আরও ভাল উপায়গুলি আমি আবিষ্কার করেছি এবং এটি সঠিকভাবে অপশন 2 প্রয়োগ করে New স্পষ্টতার জন্য নিউলাইনগুলি যুক্ত হয়েছে। এটি সম্ভবত আরও গল্ফ করা যেতে পারে, তবে এটিতে নিম্ন লুপ গভীরতার জন্য BF পুনর্লিখনের অন্তর্ভুক্ত।

exec"f=factor;
J=''.join;
Q=L(a,b):Lz:a*z+b*-z;M=Q('<>');
C=Lj,k:(Ll:'[-%s+%s+%s]%s[-%s+%s]%s'%tuple(map(M,[-j,-k,l,-l,l,-l,k])))(j+k);
print '>+[>>>+'+J(map(L(n,m):reduce(Lr,(p,e):'[-%s%s%s[[-]<<+>>]%s<<%s]'%(M(4-p),C(6-p,2),'[-'*(e-1),']'*(e-1),r),f(m),'[-<<<->>>%s]'%J(map(L(p,e):M(4-p)+Q('+-')(e)+M(p-4),f(n/m))))+'<<<'+C(3,2),[map(QQ,x.split('/'))for x in raw_input().split(',')]))+'<<<<+>[-<->]<[->+<]>]'".replace('L','lambda ')

নমুনা আউটপুট:

ইনপুট দেওয়া হয়েছে 33/20,5/11,13/10,1/5,2/3,10/7,7/2

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