চক নরিসের মতো গণনা করুন


58

যেমনটি সুপরিচিত ,

চক নরিস অনন্তকে গণনা করেন। দ্বিগুণ

এছাড়াও ,

চক নরিস অনন্ত পিছনে পিছনে গুনতে পারে।

এছাড়াও, সম্ভবত কম জানা থাকলেও, চক নরিস ইংরেজি ছাড়াও কিছু স্প্যানিশ বলতে পারেন ।

চ্যালেঞ্জ

এমন একটি প্রোগ্রাম লিখুন (বা ফাংশন) যা দুটি ভিন্ন ভাষায় চালিত হতে পারে। একটি ভাষায় প্রোগ্রামটির ক্রমটি আউটপুট করা উচিত

1, 1, 2, 2, 3, 3, 4, 4, ...

এবং অন্য ভাষায় এটি ক্রম তৈরি করতে হবে (শীর্ষস্থানীয় শূন্যগুলি সহ)

1, 2, ..., 9, 01, 11, 21, 31, ..., 89, 99, 001, 101, 201, ...

বিধি

  • কোনও প্রোগ্রামিং ভাষায় প্রোগ্রাম বা ফাংশন অনুমোদিত । স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • একই ভাষার বিভিন্ন সংস্করণ (যেমন পাইথন 2/3) বিভিন্ন ভাষা হিসাবে গণনা করে না। সম্পর্কিত ভাষা (যেমন সি / সি ++ বা মতলব / অক্টাভা) আলাদা হিসাবে গণনা করে।
  • কোনও ইনপুট নেওয়া হবে না।
  • প্রোগ্রামটির ক্রমটির শর্তগুলির আউটপুট অবিরত হওয়া উচিত যতক্ষণ না ব্যবহারকারী কর্তৃক বন্ধ হয়ে যায়। যেহেতু প্রোগ্রামটি নিজে থেকে থামবে না, ফলাফল আউটপুট শেষে তৈরি করা যাবে না। প্রোগ্রামটি চলাকালীন এটি অবশ্যই তৈরি করতে হবে, হয় অবিচ্ছিন্নভাবে বা ব্যাচগুলিতে।
  • আউটপুট STDOUT বা সমতুল্য ব্যবহার করতে পারে বা গ্রাফিক উইন্ডোতে প্রদর্শিত হতে পারে। অনুক্রমের শর্তগুলির মধ্যে যে কোনও অ-সংখ্যাসূচক বিভাজককে অনুমোদিত, যতক্ষণ না প্রতিটি শব্দটি তার প্রতিবেশী শর্তাদি থেকে স্পষ্টভাবে আলাদা করা যায়। পদগুলির মধ্যে যদি পর্দা সাফ করা হয় তবে এটি গ্রহণযোগ্য।
  • হয় ক্রম 0পরিবর্তে শুরু করতে পারেন 1। সেক্ষেত্রে, "দ্বিগুণ" ক্রমের 0ক্ষেত্রে অন্যান্য সংখ্যার মতোই পুনরাবৃত্তি করা উচিত।
  • নেতৃস্থানীয় শূন্যগুলি "পিছনের দিকে" ক্রমের ক্ষেত্রে উল্লেখযোগ্য। উদাহরণস্বরূপ, দশম পদটি হ'ল 01; তন্ন তন্ন 1না 001গ্রহণযোগ্য।
  • যদি দুটি ভাষা পৃথক অক্ষর এনকোডিংগুলি ব্যবহার করে তবে প্রোগ্রামটি তার বাইট দ্বারা নির্ধারিত হয় , এর অক্ষরগুলি নয়। অর্থাৎ, দুটি ভাষায় বাইটগুলি একই হওয়া উচিত।
  • বাইটস মধ্যে সংক্ষিপ্ত কোড।

8
ডাউনভোটার্স, উন্নতির জন্য কোনও পরামর্শ?
লুইস মেন্ডো

29
চক নরিস গণনা করার পক্ষে খুব শক্তিশালী, যদি তিনি করেন তবে তিনি যে প্রথম সংখ্যাটি গণনা করতেন তা অসীমাকে অতিক্রম করবে এবং জ্ঞানের গণিতের ক্ষেত্রকে ছিন্নভিন্ন করে দেবে। অতএব, আমি প্রতিযোগিতা করতে অস্বীকার করি।
যাদু অক্টোপাস উরন

11
চক নরিস এই সমস্ত কিছু করার পরে বিশ্বব্যাপী পুশ-আপের ঘাটতির কারণে @ কারসোকম্পিউটিং, খুব জ্ঞানী।
হোসনেম

33
চক নরিস 0 বাইটে এই চ্যালেঞ্জটি শেষ করতে পারেন। সে কেবল কম্পিউটারের দিকে নজর দিতে পারে এবং কম্পিউটার যা খুশি তাই করে।
কোডস জনসন

17
চক নরিস এই চ্যালেঞ্জটি জিততে চেষ্টা করেননি, তিনি আপনাকে কেবল হেরে দিয়েছেন।
নাট

উত্তর:


18

05 এ বি 1 ই / জেলি ,  14  13 বাইট

-1 বাইট আদনানকে ধন্যবাদ (নন-পপিং প্রিন্টের সাহায্যে তিনটি এড়ানো)

কাঁচা বাইট (হেক্সাডেসিমাল):

31 5b 3d 3d 3e 5d fc 06 b6 3b 87 08 15

ইন 05AB1E এর কোড পৃষ্ঠার :

1[==>]üε¶;‡ηΩ

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

ইন জেলি 'র কোড পৃষ্ঠার :

1[==>]‘©Ṛ;⁷®ß

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

কিভাবে?

05AB1E প্রোগ্রাম নতুন লাইন দিয়ে আলাদা প্রতিটি প্রবেশ সঙ্গে ডবল গণনা ছাপে:

1[==>]üε¶;‡ηΩ
1             - push 1 onto the stack
 [            - start infinite loop:
  =           - print top of stack
   =          - print top of stack
    >         -   increment the top of the stack (pop(1), x+=1, push)
     ]        - end the infinite loop
      üε¶;‡ηΩ - this code is never executed nor is it parsed

জেলি প্রোগ্রাম নতুন লাইন দিয়ে আলাদা প্রতিটি প্রবেশ সঙ্গে বিপরীত গণনা ছাপে।

পার্সারটি সংযুক্ত আক্ষরিকের মধ্যে [এবং ]হিসাবে একটি বৈধ আক্ষরিক আচরণ করবে , অন্যথায় এই বাইটগুলি সংজ্ঞায়িত টোকেন এবং যেমন লাইনগুলিতে কোডকে আলাদা করে টোকেনের সমতুল্য হয়ে ওঠে। ==>আক্ষরিক হিসাবে বিশ্লেষণ করে না, সুতরাং কোড কার্যকরভাবে হয়:

1 - link 1 (not executed but parsed)
1 - literal 1

==> - link 2 (not executed but parsed)
=   - left equals right? (vectorises)
 =  - left equals right? (vectorises)
  > - is greater than the right argument? (vectorises)

‘©Ṛ;⁷®ß - Main link: no arguments
‘       - increment (implicit 0 on left increments to 1 on the first pass)
 ©      - copy the result to the register and yield it
  Ṛ     - reverse, this has an implicit decimal list build, e.g. 142 -> [2,4,1]
    ⁷   - a newline character
   ;    - concatenate, e.g. [2,4,1] -> [2,4,1,'\n']
     ®  - recall the number from the register, e.g. 142
        - The chain has reduced to one item of arity 0, causing a pre-evaluation print:
        -     ...and since the list contains a character it gets smashed together
        -     e.g. [2,4,1,'\n'] prints 241 followed by a newline character
      ß - call this link with the same arity, e.g. as a monad with left = 142

আমি চেক না যদি এটা জেলি জন্য কাজ করে, কিন্তু যদি এটা কাজ করবে, তখন আপনার প্রতিস্থাপন করতে পারেন Ð,,দ্বারা ==
আদনান

জেলি পার্স করা উচিত। আমি পপিংবিহীন মুদ্রণের জন্য তথ্য.টি.এস.টি. তে দেখেছি এবং এটি দেখতে পাইনি। ধন্যবাদ।
জোনাথন অ্যালান

26

পাইথন 2 / সি (ঝনঝন) , 109 107 100 84 95 88 89 88 87 84 বাইট

i=0;
#/*
while 1:i+=1L;print`i`[::-1]
'''*/
a(){for(;;)printf("%i %1$i ",++i);}//'''

পাইথন: অনলাইনে চেষ্টা করে দেখুন!

সি: অনলাইনে চেষ্টা করে দেখুন!

পাইথন কোডে এল এলিমিটরের অংশ।

ব্যাখ্যা:

সি কোড, এটা প্রথম সেট তোমার 0 তারপর, এটি একটি মন্তব্য শুরু করার জন্য ( #যেখানে C ভাষায় বৈধ কোড #includeযেখানে পাইথন কোড যায় বিবৃতি)। মন্তব্যের শেষে, এটি এমন একটি ফাংশন সংজ্ঞায়িত করে যা চিরতরে কোনও ভেরিয়েবলকে বাড়িয়ে তোলে এবং দু'বার মুদ্রণ করে, স্থান-সীমিত। এটি তারপরে একটি মন্তব্য শুরু করে।

পাইথন কোডে, i=0;আমি শূন্য সেট করে। পাইথন পরবর্তী লাইনে উপেক্ষা করে কারণ #একক-লাইন মন্তব্য শুরু করে। এরপরে এটি চিরতরে এটিকে বাড়িয়ে দেয় এবং এটিকে দীর্ঘ সংখ্যায় পরিণত করে এবং এর বিপরীত স্ট্রিং প্রতিনিধিত্ব মুদ্রণ করে। দীর্ঘ থেকে 'এল' সীমাবদ্ধতার অংশ। এর পরে, এটি সি কোডটি মন্তব্য করার জন্য একটি বহু-লাইন স্ট্রিং শুরু করে, এটি পরে শেষ।

 

-২ বাইটস @ লুইস মেন্ডোকে ধন্যবাদ thanks -8 বাইটস @ জাচারিটিকে ধন্যবাদ -জ্যাচারিটি-কে আরও 6 বাইট ধন্যবাদ। @ Mbomb007 ধন্যবাদ একটি বাগ ঠিক করতে +11 বাইট। -7 বাইটস @ ডুরকনবকে ধন্যবাদ। @ ডুরকনবকে একটি বাগ সংশোধন করতে +1 বাইট। -1 বাইট @YOAN ধন্যবাদ। -1 আরও বাইট @yoann ধন্যবাদ। -3 বাইটস @ কায়সকে ধন্যবাদ জানায়।


হুম, আমি মনে করি আপনি সি a(i){printf("%i %i ",i,i);a(i+1)}
কোডটিতে

whileসি কোডের জন্য লুপ ব্যবহার করবেন না কেন ?
enedil

@ বৌদ্ধ এটি আরও বাইট নেয়
কমরেড স্পার্কলপনি

আমি মনে করি আপনি এর `i`পরিবর্তেstr(i)
সাইওস

আপনি for(;;)printf("%i %1$i ",i++);একটি বাইট সংরক্ষণ করতে ব্যবহার করতে পারেন । 1$একটি হল অবস্থানগত যুক্তি যে বলে printf(ফরম্যাট স্ট্রিং পরে) প্রথম আর্গুমেন্ট প্রদর্শন করে।
ইয়োন

12

জেলি / পাইথ, 15 বাইট

.V1_`b;"1üÉÉ$

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

00000000: 2e56 315f 6062 3b22 7f31 fcc9 c924 0b    .V1_`b;".1...$.

সাথে jelly f fileএবং pyth fileযথাক্রমে চালান ।

ব্যাখ্যা

প্রথম পাইথ অংশ আসে। .Vএটির ইনপুট থেকে শুরু হওয়া ইনক্রিমেন্টিং সিকোয়েন্সের উপর একটি অসীম লুপ চালায় 1। তারপরে আমরা _স্ট্রিংযুক্ত ( `) লুপ সূচকে ( b) বিপরীত করি এবং স্পষ্টতই এটি আউটপুট করি। ;লুপ শেষ আছে, এবং "একটি স্ট্রিং আক্ষরিক যাতে পার্সার এটিতে শ্বাসরোধ করে না প্রোগ্রাম বাকি চিকিত্সা করা প্রয়োজন।

জেলি অংশটি প্রথমে জেলি কোডপেজ থেকে প্রোগ্রামটির বাকী অংশটি অনুবাদ করে ব্যাখ্যা করা হবে:

¶1‘ṄṄ$¿

একটি লাইন ফিড হিসাবে কাজ, কার্যকরীভাবে এটি একটি লিঙ্ক যা কখনো বলা করে প্রোগ্রামটির প্রথম অংশ উপেক্ষা। তারপরে আমরা 1কিছুক্ষণ লুপটি চালু করি এবং চালিত করি ¿যা ṄṄ$এর শর্ত হিসাবে (দু'বার মুদ্রণ) ব্যবহার করে এবং লুপের বডি হিসাবে মান বৃদ্ধি করে।


ঘটনাচক্রে, পাইথ অংশটি প্রতিস্থাপনের ফলে 14 বাইটে একটি বৈধ জেলি / 05AB1E জমা দেওয়া তৈরি 1[DR,>] হবে , তবে বর্তমান ইন্টারপেটারে একটি বাগ রয়েছে যা এটি প্রতিরোধ করে।


1
@ জোনাথান অ্যালান আপনি ঠিক বলেছেন, এটি ছিল আমার পাঠ্য সম্পাদক দ্বারা অনুসরণ করা নতুন লাইন।
ডোরকনবব

11

পার্ল / জাভাস্ক্রিপ্ট, 87 বাইট

s=0;print=console.log;m=s;$_=s=s=s=m;while(++$_){print((m/s,$_+`
`+$_||/&&reverse.$/))}

পার্ল

s/0;print/console.log;m/s;$_=s/s/s/m;while(++$_){print((/s,$_+`
`+$_||/&&reverse.$/))}

আমি জেএস / পার্ল পলিগ্লোটগুলিতে প্রচুর ব্যবহার করেছি এমন একটি প্রক্রিয়া হ'ল প্রতিস্থাপনটি যে কোনও ডেলিমেটারকে গ্রহণ করতে পারে তার অপব্যবহার করা হয়, এর =অর্থ ব্যবহার করে আমি প্রাথমিক অর্থহীন প্রতিস্থাপনগুলি ব্যবহার করতে পারি (প্রথমে ইন এর পতাকা দিয়ে প্রতিস্থাপন 0;printকরা যা বর্তমানে রয়েছে ) তারপর, সেটিং প্রতিস্থাপন ফলাফলের সাথে প্রাসঙ্গিক সঙ্গে একাধিক লাইন মোড (মধ্যে ), যা । এখন হয় এবং আমি শুরু লুপ, এই তারপর বৃদ্ধি । এরপরে আমি কল করি , নিয়মিত এক্সপ্রেশন দিয়ে যা মেলে ( শেষে যা খালি স্ট্রিংয়ের সাথে মেলে) এবং অপারেটরটি ব্যবহার করে তারপরে একটি নতুন লাইনের সাথে কনক্যাটেনেটের বিপরীত প্রেরণ করতে (console.log;m/s$_undef$_ss/m0$_0while$_print||&&$_$/এটি প্রাক-সূচনা হয় "\n") to এটি পেছনের দিকে অনন্তকে গণনা করে।

জাভাস্ক্রিপ্ট

s=0;print=console.log;m=s;$_=s=s=s=m;while(++$_){print((m/s,$_+`
`+$_||/&&reverse.$/))}

পার্ল s///কলগুলিতে মুখোশযুক্ত এখানে প্রচুর ভেরিয়েবল অ্যাসাইনমেন্ট । আমি ভেরিয়েবল সেট আপ করেছি sএবং mযেমন 0, ওরফে console.logটু print, কিছু অর্থহীন বিভাগ চালাচ্ছি, লুপ ইনক্রিমেন্টিং সেট $_করতে 0এবং শুরু করব , কল পাসিং ইন ( , এটি পার্লে কল শুরু করে তবে জেএসে স্ট্যান্ডার্ড বিভাগ হিসাবে বিবেচনা করা হয়) এবং আমাদের লক্ষ্যযুক্ত স্ট্রিং ( ) কমা অপারেটরের মাধ্যমে যা তালিকার শেষ আইটেমটি দেয় returns আমি পার্ল কোডের শেষ অংশটি এড়িয়ে চলেছি ( কারণ) সত্যবাদী হবে এবং তাই আমি পার্ল কোডের শেষে থাকা কোনও বস্তু তৈরি করতে ব্যবহার করতে পারি যা কখনই মূল্যায়ন হয় না।while$_print0m/sm$_+"\n"+$_&&reverse.$/$_+"\n"+$_||RegExp

পার্ল 5 এবং নোড 6 ব্যবহার করে পরীক্ষা করা হয়েছে।


8

নোডজেএস / পিএইচপি, 131 106 বাইট

-২২ বাইটস @ টিটাসকে ধন্যবাদ

<!--
printf=(_,i)=>process.stdout.write(i+i),strrev=i=>i+" "//--><?
for($i=0;;)printf("%s ",strrev($i++));

আরও ভাল আউটপুট বিন্যাস এবং আরও ভাল অসীম লুপ পরিচালনার জন্য ব্রাউজার জেএসের পরিবর্তে নোডজেএস ব্যবহার করা।

অনলাইনে জাভাস্ক্রিপ্ট
চেষ্টা করুন অনলাইনে পিএইচপি চেষ্টা করুন

দ্রষ্টব্য যে টিআইও আউটপুট 128KB পরে কাটা হয়েছে।


1
102 বাইট 0: থেকে শুরু হয় <!--←printf=(_,i)=>process.stdout.write(i),strrev=i=i>>1//--><?←for($i=0;;)printf("%s ",strrev($i++));। 84 বাইট (তবে আপনার পদ্ধতির চেয়ে অর্ধেক সুন্দর নয়): <!--←for(i=1;;)process.stdout.write(i+" "+i+++" ")//--><?for(;;)echo strrev(++$i),_;বা <!--←for(i=1;;)process.stdout.write((++i>>1)++" ")//--><?for(;;)echo strrev(++$i),_;
তিতাস

সংখ্যাটি i>>1পুনরাবৃত্তি করার জন্য @ টিটাস সুন্দর ধারণাটি পেয়েছিল তবে আমাকে write(i)একটি স্থান অন্তর্ভুক্ত করার জন্য পরিবর্তন করতে হয়েছিল, এবং কারণ write()কোনও সংখ্যা গ্রহণ করে না। এবং আপনার একটি টাইপো ছিল ( strrev=i=i>>1-> strrev=i=>i>>1) যা অন্য একটি বাইট যুক্ত করেছিল। করতে খাটো হচ্ছে শেষ পর্যন্ত write(i+i)এবং strrev=i=>i+" "
জাস্টিন মেরিনার

7

ভি / ব্রেন-ফ্ল্যাক ক্লাসিক , 27 , 26 বাইট

(()){[[({}())[]]]}é1òÙæ_æ

Hexdump:

00000000: 2828 2929 7b5b 5b28 7b7d 2829 295b 5d5d  (()){[[({}())[]]
00000010: 5d7d e931 f2d9 e65f 01e6                 ]}.1..._..

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

এটি অনলাইন চেষ্টা করুন! মস্তিষ্ক-ফ্লাক ক্লাসিক মধ্যে

এটি বহুবিধের মধ্যে সবচেয়ে আকর্ষণীয় নয়, যেহেতু ভি কোডটির মস্তিষ্ক-ফ্লাক ক্লাসিক এবং তদ্বিপরীতগুলির উপর কোনও প্রভাব নেই, তবে চ্যালেঞ্জের জন্য আমার নিজের দুটি ভাষা ব্যবহার করা সত্যই মজাদার এবং দুটি সমাধান বেশ আকর্ষণীয় are তাদের নিজেদের.

ভি ব্যাখ্যা:

é1              " Insert a '1'
  ò             "   Recursively:
   Ù            "   Duplicate this number
    æ_          "   Flip this line
      <C-a>     "   Increment the number on this line
           æ    "   Flip it back (the '_' is implicit because it's at the end of the program)

বিএফসির ব্যাখ্যা:

#Push a one onto the main stack
(())

#Forever:
{

  #Print twice:
  [[

    #Increment the top of the stack.
    #Evaluates to *i + 1*
    ({}())

    #Minus one
    []
  ]]

#Endwhile
}

3
ভাষাগুলি দেখার সাথে সাথেই আমি জানতাম আপনি এটি পোস্ট করেছেন।
রিলে

কেন এটি "ব্রেন-ফ্ল্যাক ক্লাসিক"? ব্রেন-ফ্লাক কি আলাদা আছে?
nmjcman101

@ nmjcman101 মস্তিষ্ক-ফ্ল্যাক ক্লাসিক ব্রেন-ফ্লাকের আসল সংস্করণ ছিল। পার্থক্যটি এখানে আরও বিশদে বিশদভাবে ব্যাখ্যা করা হয়েছে , তবে আমি এটি বাছাই করার কারণটি হ'ল এটির সুস্পষ্ট আউটপুট রয়েছে, যা আধুনিক মস্তিষ্কের ঝাঁকুনি নয়। (অসীম আউটপুট জন্য অনুমতি)
ডিজেএমসিএমহেহম

4

রেটিনা / পাইথন 2, 61 বাইট

#{*M`
#*M`
"""

}`$
1
""";i=1
while 1:print str(i)[::-1];i+=1

রেটিনা | পাইথন 2


আমি str()`with এর সাথে প্রতিস্থাপন করার চেষ্টা করেছি , তবে রেটিনা কোডটি আপাতভাবে বিরক্ত করেছে। কেন জানি না?
অফিসিয়ালাইম্ম

আপনি যাইহোক এটি করতে পারবেন না। যদি এটি এটিকে বৃহত সংখ্যায় পরিণত করতে এবং সঠিকভাবে কাজ করে চলেছে তবে তা হতে হবে str, অন্যথায় আপনি Lফলাফলগুলি পাবেন। কিন্তু এটি আসলে নেই অক্ষিপট কাজ করে। আপনি যা বলেছিলেন তার চেয়ে বেশি অবশ্যই পরিবর্তন করা উচিত, যেমন কিছু আলাদা লাইনে চলে যাওয়ার মতো।
mbomb007

3

আর / অষ্টাভে , 83 80 78 71 বাইট

-3 বাইট ধন্যবাদ লুই মেন্ডোকে ধন্যবাদ

i=0;
while(1)
#{
print(c(i<-i+1,i))
#}
disp(flip(num2str(i)))
i+=1;
end

#{ }#একটি অষ্টাভ ব্লক মন্তব্য এবং #ঠিক তেমনই আর-এর মন্তব্য বলে মনে হয় আর আর ইন্টারপ্রেটার কেবল পরের লাইনটিকে whileলুপের মূল হিসাবে দেখেন এবং অক্টাভা দোক্তা অক্টাভা কোডের ঠিক সামনে চলে যান

আর অংশটি 1 টি থেকে শুরু করে সংখ্যার জোড় প্রিন্ট করে এবং অক্টাভা অংশটি 0 থেকে শুরু করে পিছনের সংখ্যাগুলি মুদ্রণ করে।

আমি পুরোপুরি আউটগল্ফড (এমনকি ভাষার একই সংমিশ্রণ দ্বারা) আশা করি; আমি সম্প্রতি এতগুলি মতলব এবং আর কোড লিখছি যা আমি বুঝতে পেরেছিলাম যে আমি এটি একটি শট দেব।

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


শীর্ষস্থানীয় হওয়া কি দরকার i=i+1?
জাকারি

1
দুর্ভাগ্যক্রমে @ জাচারিটি +=আর-তে কাজ করে না, তাই হ্যাঁ, এটি এমন হওয়া দরকার।
জিউসেপ

Is endপ্রয়োজনীয়?
বিএলটি

1
@ বিএলটি, হ্যাঁ, এটি অষ্টকটির জন্য লুপটির শেষের চিহ্নটি চিহ্নিত করে।
জিউসেপ

ঠিক আছে ধন্যবাদ. আমি ভাবছিলাম যেহেতু এটি কখনই শেষ হবে না ( while(1)) আপনি সেই বাইটগুলি সংরক্ষণ করতে পারবেন।
বিএলটি

3

রুবি / পাইথন 2: 68 64 বাইট

i=0
"#{loop{p i+=1,i}}"
exec('while 1:print str(i)[::-1];i+=1')

রুবি দৃষ্টিভঙ্গি

ভেরিয়েবলের সহজ সূচনা:

i = 0

"#{}"স্ট্রিং ইন্টারপোলেশন জন্য সিনট্যাক্স। আমি পরিবর্তে এক্সপ্রেশন কার্যকর করতে এটি ব্যবহার করি।

"#{loop{p i+=1,i}}"

pএকটি সংক্ষিপ্তকরণ putsloopঅসীম লুপ তৈরি করে।

এর পরে execজিনিসটি রয়েছে তবে এটি কখনও মূল্যায়ন হয় না, কারণ অসীম লুপটি সংজ্ঞা অনুসারে হয় inite execপাইথন কোড সহ সিনট্যাক্স ত্রুটি না উত্পন্ন করার দরকার ।

পাইথন দৃষ্টিকোণ

পাইথনের দৃষ্টিকোণ থেকে, একটি সাধারণ বিষয় রয়েছে i=0। এরপরে, পাইথনের স্ট্রিং ইন্টারপোলেশনের জন্য আলাদা সিনট্যাক্স রয়েছে, সুতরাং এই লাইনটি কেবল বাতিল করা হয়েছে। এরপরে অন্যদের পোস্টের মতো অসীম লুপ রয়েছে।


3

বাশ / চেক , 50 28 বাইট

পাইথন থেকে বাশে স্যুইচ করে একগুচ্ছ বাইট সংরক্ষণ করার জন্য @ ডুরকনবকে ধন্যবাদ জানাই

#>
#v
 #p<p<)#
seq 1 inf|rev

সজোরে:

#>
#v
 #p<p<)#

এগুলি কেবলমাত্র কিছু মন্তব্য, যা এড়ানো হবে।

seq 1 inf|rev

1 থেকে অনন্তের দিকে যেতে একটি ক্রম শুরু করুন, তারপরে ফলাফলটি পাইপ করুন rev

যাচাই করার জন্য:

#>

এটি তত্ক্ষণাত 2 ডি মোডে স্যুইচ করে ডান দিকে যাচ্ছে। >আইপি ডানদিকে নির্দেশ করে, যার কোনও প্রভাব নেই। এটি লাইনের শুরুতে প্রায় আবৃত এবং #আবার আঘাত করে, যা 2 ডি মোডের বাইরে চলে যায়। এটি পরে >1 ডি মোডে আঘাত করে, যা 0 স্ট্যাকের দিকে ধাক্কা দেয়। এটি 1 ডি মোডে থাকার কারণে, আইপি পরবর্তী লাইনে আবৃত হয়।

#v

#আইপিটিকে আবার 2D মোডে স্যুইচ করে এবং vএটি নীচের দিকে নির্দেশ করে।

 #p<p<)#

প্রথম #আবার 1D মোডে ফিরে আসে। pটিওএসকে একটি সংখ্যা হিসাবে আউটপুট করে (তবে এটি পপ করে না) এবং তারপরে <একটি নতুন লাইন প্রিন্ট করে। এটি দু'বার করা হয়, এবং তারপরে সংখ্যাটি বাড়ানো হয় )#আবার 2 ডি মোডে স্যুইচ করে, তাই আইপি লাইনটির শুরুতে মোড়ানো, #1 ডি মোডে স্যুইচ করতে আঘাত করে ইত্যাদি


1
ব্যাশ ব্যবহার #মন্তব্যের জন্য এবং সম্পাদন করতে পারবেন খুব সহজেই "বিপরীত সংখ্যার" টাস্ক: seq 1 inf|rev
ডুরকনবব

রুবি কোডটি i=1;loop{puts i.to_s.reverse;i+=1}একটি বাইট ছোট
dkudriavtsev

3

সিজেএম /> <>, 27 বাইট

"la,:naonao
"1{_sW%n)}h

সিজেমে টু:

এটি অনলাইন চেষ্টা করুন! - নোট করুন যে আউটপুটটি দেখতে আপনাকে 60 সেকেন্ডের সীমা পর্যন্ত অপেক্ষা করতে হবে, তবে এটি অফলাইনে কাজ করে।

"la,:naonao
"

এটি একটি বহু-লাইন স্ট্রিং আক্ষরিক সংজ্ঞা দেয় যা কখনও ব্যবহৃত হয় না।

 1{_sW%n)}h

দ্বিতীয় লাইনটি এভাবে চলে:

1     e# Push 1:               | 1 
{     e# Forever:              | 1
  _   e#   Duplicate:          | 1 1
  s   e#   Convert to string:  | 1 "1"
  W%  e#   Reverse:            | 1 "1"
  n   e#   Print with newline: | 1
  )   e#   Increment:          | 2
}h    e# End loop

প্রতি> <>:

"

একটি স্ট্রিং আক্ষরিক শুরু হয়।

 la,:naonao

আক্ষরিক স্ট্রিংয়ের বিষয়বস্তু। প্রতিটি অক্ষর কোডগুলি পৃথকভাবে স্ট্যাকের দিকে ঠেলে দেওয়া হয়।

"

আইপি "আবার কাছে পৌঁছানোর জন্য প্রায় মোড়ানো হয়, যা স্ট্রিং মোডটি শেষ করে।

 la,

lস্ট্যাকের দৈর্ঘ্য নেয় a10 টি ধাক্কা দেয় এবং ,ভাগ করে। এটি আমাদের স্ট্যাকের দৈর্ঘ্য / 10 দেয়।

    :nao

:সদৃশ, nএকটি সংখ্যা হিসাবে প্রিন্ট, a10 ধাক্কা, এবং oএকটি অক্ষর কোড হিসাবে মুদ্রণ (একটি নতুন লাইন)।

        nao

একই জিনিস. একটি নতুন লাইন পরে নম্বর মুদ্রণ করুন। স্ট্যাকটির আবার দৈর্ঘ্য 10 আবার (মূল স্ট্রিং আক্ষরিক বিষয়বস্তু স্ট্যাকের মধ্যে রয়েছে)।

আইপি এরপরে "আবারও গুটিয়ে যায় , যার ফলে 10 টি আরও বেশি উপাদানকে ধাক্কা দেওয়া হবে। পরের বার, l20 প্রদান করে, তাই 2 মুদ্রিত হয়, ইত্যাদি।

দ্বিতীয় লাইনটি কখনও আইপিকে স্পর্শ করে না।


2

Röda / C (gcc) , 90 বাইট

main(){f(0);}f(a){a=1//1{[` $a`[::-1]];a++}while[]/*
;for(;;a++)printf("%d %d ",a,a);/**/}

রদা: অনলাইনে চেষ্টা করে দেখুন!

সি: অনলাইনে চেষ্টা করে দেখুন!

ব্যাখ্যা

এটি এই //সত্যটিকে অপব্যবহার করে যা রাডায় ইন্টার ডিভোশন কিন্তু সি-তে একটি লাইন মন্তব্য

উভয় ভাষায়, main(){}মূল প্রোগ্রামটি চিহ্নিত করে এবং তারা উভয়ই fএকটি ডামি যুক্তি সহ ফাংশন কল করে 0

রাডায় ইনটি a=1//1ডিভিশন করে এবং ফলাফলকে নির্ধারিত 1করেa । সি a=1একই জিনিস দেখছে এবং করছে, তবে সেই কার্যভারের পরে সমস্ত কিছু সি এর জন্য একটি মন্তব্য there সেখান থেকে, দুটি ভাষার শাখা বন্ধ রয়েছে।

Roda

আমাদের সাথে একটি অসীম লুপ রয়েছে while[]( একটি খালি শর্তটি সত্য )। এর অভ্যন্তরে, ` $a`পূর্ণসংখ্যাকে aএকটি স্ট্রিংয়ে রূপান্তর করে (শীর্ষস্থানীয় স্থান সহ) যার পরে[::-1] এটি বিপরীত হয় (এবং এটি পিছনের স্থানের সাথে আউটপুট দেয়)। তারপরে এর মান aএক দ্বারা বাড়ানো হয়।

লুপের বাইরে, একটি বহুমুখী মন্তব্য শুরু হয় /* ফাংশন শেষ হওয়ার ঠিক আগে এবং শেষ হয়।

সি

বাকী রেখাকে উপেক্ষা করার পরে, প্রোগ্রামটি দ্বিতীয় লাইনে চলে যায়। আমরা একটি সেমিকোলন দিয়ে শুরু করি কারণa=1 বিবৃতিটি শেষ করা দরকার। এরপরে, আমরা লুপের জন্য একটি সাধারণ মুখোমুখি হই যা aপ্রতিটি পুনরাবৃত্তির উপরে পুনরাবৃত্ত চলকটি মুদ্রণ করে ।

ফর লুপের বাইরে, /*রাডার শেষ */মন্তব্যটি উপেক্ষা করার জন্য কেবল সেখানে রয়েছে ।


2

কিউবিআইসি / কিউব্যাসিক 4.5 , 58 বাইট

do
p=p+1
if q then
'?`_f!p$|
else
?p,p,
end if
loop

এটি অতিমাত্রায় অপব্যবহার করে যে সমস্ত ছোট হাতের অক্ষরগুলি কিউবিআইসি ইন্টারপ্রেটার দ্বারা আক্ষরিক QBasic কোড হিসাবে দেখা হয় এবং এরপরে কিউবিসির কিউব্যাসিক স্তরটির সাথে প্রেরণ করা হয়। উভয় ভাষা কীভাবে এই কোডটি পাশাপাশি দেখছে:

LOC         QBasic                    QBIC
-------------------------------------------------------
do                   Start an infinite loop
p=p+1                Increment p, starts off as 0
if q then    q = 0, goto ELSE         q = 1, execute IF
'?`_f!p$|    ' = comment, invalid     '?` is a 'code literal', passing PRINT to QBASIC
             syntax is ignored        followed by QBIC code to flip p cast as string.
else         q=0, execute             q=1, so ignored
?p,p,        PRINT p twice,
             separated by tab
end if               End of the branching logic
loop                 Wrap around for the next pass

2

লেজারল্যাং / > <> , 163 বাইট

!\0 \
/:+1/!   ]oo\
\:a( ?\:a%$a ,!
/r[-1l//" ,"/
/!n-%1:\?(1l
 \ --\/ <<---\
/----/'
\----  v
/>>--\#>---->/
\     /
/----<
\  \
/ -<< \
 /<< \
 "
">=>= /
\>=>=/

প্রথম বার গল্ফিং, সুতরাং এটি এটি হতে পারে তার চেয়ে কিছুটা বড়। আমি> <<> ব্যবহার করতে চেয়েছিলাম, তবে যেহেতু কয়েক জন ইতিমধ্যে দ্বিতীয় সিকোয়েন্স তৈরি করতে এটি ব্যবহার করেছেন, তাই আমি সিদ্ধান্ত নিয়েছি যে আমি প্রথম ক্রমটি তৈরি করতে যেতে চাই।

> <> অনলাইন চেষ্টা করুন!
লেজারল্যাংয়ের জন্য, এটি চেষ্টা করার জন্য একটি অফলাইন দোভাষী দরকার। এটি এখানে পাওয়া যাবে

laserLANG

!\
 \ --\/ <<---\
/----/'
\----  v
/>>--\#>---->/
\     /
/----<
\  \
/ -<< \
 /<< \
 "
">=>= /
\>=>=/

কার্যকর করা শুরু হয় !যা সম্পূর্ণ উপেক্ষা করা হয়। এরপরে এটি পৌঁছে যায় \এবং এটি সম্পূর্ণ উপেক্ষা করে এমন বেশ কয়েকটি অক্ষরের অতীত ভ্রমণ শুরু করে। অবশেষে এটি অন্য পৌঁছায় \এবং মজা শুরু হয়। আমি মূলত "হ্যালো, ওয়ার্ল্ড!" এর পিছনে ধারণাটি নিয়েছিলাম লুপ এবং এটি ঘনীভূত হিসাবে আমি পারে। প্রোগ্রামের কাউন্টারটি যথাক্রমে বাম / ডানদিকে চলে গেলে লেজারল্যাং কেবল মেমরির কাউন্টারকে হ্রাস / বাড়ানোর বিষয়ে এই বিষয়টি নিয়ে কাজ করা কিছুটা চ্যালেঞ্জের বিষয় ছিল। আমার মনে হয় সর্বাধিক বাইটগুলি এমন কিছু কৌশল ব্যবহার করে বাঁচানো যেতে পারে যা আমি ভাবিনি।

> <>

!\0 \
/:+1/!   ]oo\
\:a( ?\:a%$a ,!
/r[-1l//" ,"/
/!n-%1:\?(1l

এক্সিকিউশন শুরু হয় !যার ফলে এটি এড়িয়ে যায় \। এটি তখনও চালিয়ে যায় যেন লেজারল্যাং কোডটি ছিল না। আমি বুঝতে পারি নি> <> কেবলমাত্র ভাসমান বিভাগের পক্ষে সমর্থন ছিল, তাই একটি সংক্ষিপ্ত এবং সাধারণ কাটানো প্রথমে কিছুটা বিভ্রান্ত হয়েছিল।


2

বেফুঞ্জ -98 / > <> , 32 বাইট

\r.#%a/# :_::p#+a#1,#
>l::naonao

এখানে কত ><>উত্তর ছিল তা দেখার আগে এটি লিখেছিলাম । কিছু ব্যাকগ্রাউন্ড: \> <> এ একটি দিক পরিবর্তনকারী অপারেটর, এক্ষেত্রে এটিকে নিচে চাপ দিচ্ছে, যখন বেফঞ্জে এটি স্ট্যাকের উপরের দুটি শীর্ষস্থানীয় জিনিসকে অদলবদল করে। বেফুঞ্জ কোডটি দেখতে দেখতে:

\r.#%a/# :_::p#+a#1,#

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

পিছনের নম্বরগুলি নতুন লাইনের দ্বারা পৃথক করে প্রিন্ট করুন। বেফুঞ্জ প্রতিটি সংখ্যার পরে একটি স্থান স্বয়ংক্রিয়ভাবে মুদ্রণ করে, তাই প্রতিটি অঙ্ক স্পেস দ্বারা পৃথক করা হয়। বারবার শেষ সংখ্যাটি পাওয়া যায়, এটি মুদ্রণ করে এবং এটি 0 না হওয়া পর্যন্ত 10 দ্বারা বিভাজন করে তারপরে বৃদ্ধি এবং পুনরাবৃত্তি করুন।

> <> কোডটি তত্ক্ষণাত দ্বিতীয় লাইনে নেমে যায়।

>l::naonao

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

এবং বেশ সহজ। স্ট্যাকের দৈর্ঘ্য পান, নতুন লাইনের সাথে দু'বার মুদ্রণ করুন এবং পরবর্তী লুপের জন্য স্ট্যাকের উপর দৈর্ঘ্যের একটি অনুলিপি রেখে দিন।


1

রুবি / স্ট্যাকড , 37 বাইট

0#/0[1+:tostr rev out]
loop{p p$.+=1}

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

এই মুদ্রণগুলি 1 1 2 2... রুবিতে এবং 1 2 3 ... 01 11 21...স্ট্যাকডে।

ব্যাখ্যা

রুবিতে:

0#/0[1+:tostr rev out]
loop{p p$.+=1}

মন্তব্য সরানোর পরে, এটি হয়ে যায়:

0
loop{p p$.+=1}

এখানে শুধুমাত্র প্রাসঙ্গিক লাইন শেষ। pতার যুক্তি ফিরিয়ে দেয়, সুতরাং p pতার যুক্তিটি দু'বার মুদ্রণ করে। $.থেকে শুরু হয় 0, তাই $.+=1বর্ধিত $., বর্ধিত মানটি ফেরত। অতএব, এই 1দ্বিগুণ থেকে প্রতিটি সংখ্যা মুদ্রণ ।

সজ্জিত:

0#/0[1+:tostr rev out]
loop{p p$.+=1}

এটি নিম্নলিখিত টোকেনগুলির সমতুল্য:

0 #/ 0 [ 1 + : tostr rev out ] loop { p p $ . + = 1 }

প্রথম দুটি প্রাসঙ্গিক নয় (মূলত, 0হ্রাস f Unction এ রূপান্তর )। তারপরে, 0স্ট্যাকের দিকে ধাক্কা দেওয়া হয়। পরে, ফাংশনটি [1+:tostr rev out]স্ট্যাকের দিকে ঠেলে দেওয়া হয়।loopএই ফাংশনটিকে পপ করে এবং এটি অসীমভাবে কার্যকর করে।

ফাংশনের অভ্যন্তরটি স্ট্যাকের ( 1+) এর শীর্ষকে বাড়িয়ে তোলে, এটি ( ) নকল করে :, একটি স্ট্রিংয়ে রূপান্তর করে ( tostr), এটি ( rev) বিপরীত করে এবং এটি আউটপুট করে ( out)। এই প্রক্রিয়া অসীম পুনরাবৃত্তি। যেহেতু লুপটি অসীম, তাই টোকেনের পরে যা কিছু আসে তা মূলত দোভাষী দ্বারা উপেক্ষা করা হয়।


1

> << / জেলি , 37 বাইট (জেলির কোডপেজে 25)

01+:nao:nao!
DU;⁷Ṙ€
®‘©Çß

> <> অনলাইন চেষ্টা করুন!

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

> <> অনন্তের সিক্যুয়েন্সটি দু'বার মুদ্রণ করে, জেলি পিছনের দিকে গণনা করে।

> <> শুধুমাত্র শীর্ষ রেখার সাথে সম্পর্কিত:

এবং লাইনফিডে কিছু বাইট সংরক্ষণ করার জন্য @ চ্যালেঞ্জার 5 কে ধন্যবাদ

01+:nao:nao!                           Stack at: 1st run   2nd run ...
0                 Push a 0             0         -
 1                Push a 1             0,1       1,1   
  +               Pop 2, add them      1         2 
   :              Duplicate top item   1, 1      2, 2
    n             Pop top, show as num 1         2
     a            Push the number 10   1, 10     2, 10
      o           Pop and show 10 as an ACII char (ie '\lf')
                                       1         2
         :nao     And again, for repetition
             !    ><> wraps around; this skips pushing a 0 again.

জেলি এর কোডটিকে নীচে থেকে উপরে চালায়। শুধুমাত্র শেষ 2 লাইন প্রাসঙ্গিক।

®‘©Çß       main link, keeps track of the current number

®           Get a number from the register (0 on first run)
 ‘          Increment that by 1
  ©         Store in register
   Ç        Call helper (printer) link
    ß       Call this link again

DU;⁷Ṙ€      Printer

            (Say we are at number 21)
D           Break into digits         [2, 1]
 U          Reverse array             [1, 2]
  ;⁷        Append a line break       [1, 2, \n]
    Ṙ€      Print each char in array

@ লুইসেমেন্ডো এই কোডটিতে ব্যবহৃত অক্ষরগুলির ><>ASCII কোড-পয়েন্ট রয়েছে যা জেলি কোডেপেজের সাথে মিলে যায়। আমি এই কোডপেজ ব্যবসায় সম্পর্কে খুব বেশি জানি না, তবে আমি মনে করি এটি কোডটি উপস্থাপন করতে ব্যবহৃত একই বাইটের ফলস্বরূপ। নিম্ন রেখাগুলির অক্ষরগুলি ><>এড়িয়ে চলেছে তাই কোডেজগুলির মধ্যে হুবহু একই হয় কিনা তাতে কিছু যায় আসে না। ><>টিআইও লিঙ্ক থেকে বাইট গণনা নেওয়া হয়েছিল ।
স্টেনবার্গ

এগুলি> <>> তে কোনও বিভাজক ছাড়া মুদ্রিত হচ্ছে না?
এসসোলিং ফল 13

@ চ্যালেঞ্জার 5 আপনি ঠিক বলেছেন; স্থির করেছি।
স্টেইনবার্গ

মাছের চরিত্রের ধরণ নেই; ","কেবল ,স্ট্যাকের ASCII মানটি ঠেলে দেয় , যাতে আপনি aপরিবর্তে একটি নতুন লাইন বিভাজকের জন্য ব্যবহার করতে পারেন ।
এসওলং ফল 13

দেখে মনে হচ্ছে কমাগুলি এখনও> <> ব্যাখ্যার প্রথম লাইনে রয়েছে।
এএসওলিং ফল

1

সি (জিসিসি) / পিএইচপি , 102 86 80 বাইট

#//\
for(;;)echo strrev(++$i).'
int main(i){for(;;i++)printf("%d %d ",i,i);}//';

সি-তে ডাবল সিকোয়েন্স এবং পিএইচপি-তে বিপরীত ক্রম আউটপুট করে।

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

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

ব্যাখ্যা

সি

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

পিএইচপি

পিএইচপি-তে, #একটি লাইন মন্তব্য গঠন করে, তাই প্রথম লাইনটি সম্পূর্ণ উপেক্ষা করা হয়। দ্বিতীয় লাইনটি লুপের জন্য বিপরীত সংখ্যাগুলি মুদ্রণ করে এবং তাদের সাথে পৃথক করে \nint main(i){for(;;i++)printf("%d %d ",i,i);}//(সি স্ট্রিংয়ে আবৃত সি কোড)।

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