একটি ব্রেনফ লুকান *** অন্যান্য কোডে শুভেচ্ছা জানিয়েছেন


13

লক্ষ্যটি একটি প্রোগ্রাম লিখতে হয় (স্পষ্টভাবে মস্তিষ্কের বাকী ব্যতীত অন্য কিছু) যা বার্নি স্টিনসনের সেরা নিয়মটি প্রিন্ট করে :

নতুন সবসময় ভাল।

যখন সাধারণত ব্যাখ্যা করা হয়, কিন্তু

লিগান শুকানো পর্যন্ত অপেক্ষা কর!

যখন একটি ব্রেইনফাক দোভাষী দিয়ে প্রক্রিয়া করা হয়।

সবচেয়ে জনপ্রিয় ভাই জয় হোক। কিংবদন্তি হওয়ার জন্য আপনার কাছে 72 ঘন্টা রয়েছে।


নিশ্চিত নয় যে code-golfএই চ্যালেঞ্জের জন্য সেরা ট্যাগ। আইএমএইচও popularity-contestআরও ভাল হবে।
ফ্লোরেন্ট

3
কার বার্নি? বেগুনি ডায়নোসর? ফ্রেডের বিএফএফ?

1
@ লাইভারক্লাসওভারফ্লোয়ান আমি কীভাবে আপনার মায়ের চরিত্রের সাথে দেখা করেছি, সম্পাদনা দেখুন
টমাস আইয়ুব

4
কেউ দয়া করে "ব্রো-প্রতিযোগিতা" ট্যাগটি তৈরি করতে পারেন?
পিয়ের আরলাড

1
@ ফ্লোরেন্ট যদি চ্যালেঞ্জটি সংক্ষিপ্ত উত্তর দ্বারা জয়লাভের উদ্দেশ্যে করা হয়, তবে আমার মনে হয় না যে আপনার এটি জনপ্রিয়তার প্রতিযোগিতায় ফিরে আসা উচিত। সামোথ, আপনি যদি না জানেন তবে, জনপ্রিয়তার প্রতিযোগিতায় বিজয়ী ভোটাররা বেছে নিয়েছেন - উত্তর সর্বাধিক ভোটের জয়ের সাথে। যদি আপনি চান যে আপনার প্রতিযোগিতাটি সংক্ষিপ্ত কোডের সাথে উত্তরের দ্বারা জয়লাভ করতে চান, দয়া করে আপনার প্রশ্নটি একটি কোড-গল্ফ হিসাবে আবার চালু করুন এবং আপনি যদি এটি একটি জনপ্রিয়তার প্রতিযোগিতা হতে চান তবে দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন।
ব্যবহারকারী 12205

উত্তর:


11

সি শার্প

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

আমি নিশ্চিত যে আমি এটি আরও মার্জিত করতে পারতাম, তবে এটি শেষ হতে আমার যথেষ্ট সময় লেগেছে।

ক্যাল হেন্ডারসন এবং ভিজ্যুয়াল স্টুডিও 2012 এর সি # সংকলক (.NET ফ্রেমওয়ার্ক v4.0 এ লক্ষ্যবস্তু) দ্বারা এই জাভাস্ক্রিপ্ট ব্রেনফাক ইন্টারপ্রেটারে সমস্ত কিছুর পরীক্ষা করা হয়েছিল ।

using System;

namespace Polyglot
{
    internal static class Program
    {
        private static void Main()
        {
            var a = new short[50];

            short _1 = 72;
            short _2 = 0;
            short _3 = 0;
            short _4 = 0;
            short _5 = 0;
            short _6 = 0;
            short _7 = 97;
            short _8 = 0;
            short _9 = 0;
            short _10 = 0;
            short _11 = 0;
            short _12 = 0;
            short _13 = 0;
            short _14 = 0;
            short _15 = 0;
            short _16 = 46;
            short _19 = 0;
            short _20 = 0;
            short _21 = 0;

            if( 0 >= 0 )
            {
                ++_1;
                ++_1;
                ++_1;
                ++_1;
            }

            a[ -1 < 0 ? 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 : 0 + 1 > 1 ? 0 : 0 ] = 9001;

            if( 7 < 42 )
            {
                ++_1;
                ++_1;
            }

            Console.Write( (char)_1 );

            _2 = 101;
            _1 += 1 + 1 + 1 + 1 + 1;

            _3 = 42 > 7 ? 110 + 9 : 1 + 1;

            a[ -1 < 0 ? 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 : 0 > 0 ? 0 : 0 ] = 9001;

            if( 1 < 2 )
                _4 = 32;

            Console.Write( (char)_2 );

            ++_1;
            _5 = 105;

            Console.Write( (char)_3 );

            --_1;

            _6 = 115;

            Console.Write( (char)_4 );

            ++_1;
            ++_1;
            ++_1;
            _1 += 1 + 1 + 5;

            Console.Write( (char)_5 );

            --_1;
            --_1;

            if( 42 > 41 )
            {
                ++_1;
                ++_1;
                ++_1;
            }

            a[ -1 < 0 ? 0 : 10 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 > 5 ? 0 : 0 ] = 9001;

            if( 42 < 9001 )
                Console.Write( (char)_6 );

            Console.Write( (char)_4 );
            Console.Write( (char)_7 );

            if( 12 > 11 && 11 > 10 )
            {
                _8 = 108;
                _9 = _3;
            }
            else
            {
                ++_1;
                ++_1;
                ++_1;
            }

            a[ -1 < 0 ? 1 + 1 + 1 + 1 + 1 + 1 : 1 > 2 ? 0 : 0 ] = 9001;

            if( _4 < _1 )
            {
                ++_1;
                Console.Write( (char)_8 );
            }
            else if( _4 > _19 && _2 > _20 )
            {
                ++_21;
                ++_21;
                ++_21;
                ++_21;
                ++_21;
                _21 += (short)( _21 + 36 );
            }

            a[ -7 < 9 ? 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 : 4 > 8 ? 9 : 9 ] = (short)( 12 < 10 ? -_4 : _9 );
            Console.Write( (char)_9 );

            if( _4 > _9 )
            {
                ++_1;
                ++_1;
                ++_1;
            }

            a[ -9 < 7 ? 10 - 1 - 1 - 1 - 1 : 6 > 7 ? 0 : 0 ] = _21;

            if( 1 < 0 )
                return;
            else
            {
                ++_1;
                Console.Write( (char)_7 );
            }

            _10 += 5 + 4 + 1 + 2 + 8 + 9 + 1 + 91;
            Console.Write( (char)_10 );

            if( 10 > _4 ) ++_21; else a[ -0 < 0 ? 5 + 6 + 1 + 2 + 3 + 9 : 1 > 2 ? 0 : 9 ] = 50;

            if( _21 <= _4 )
                _11 = 58 + 57;

            Console.Write( (char)_11 );

            if( _2 <= _8 )
                Console.Write( (char)_4 );
            else if( 1 >= 2 )
                return;
            else if( 42 >= _4 )
                _1 += ++_21;
            else
            {
                a[ -99 < --_1 ? --_1 - _1 : 44 > 12 ? 9 : 7 ] = (short)( _2 < _4 ? _21 : 6 );
                throw new Exception();
            }

            switch( _4 )
            {
                case 32:
                    var x = (char)( (short)( _4 + 66 ) );
                    Console.Write( x );
                    break;
                default: break;
            }

            _12 += (short)( ++_12 + ( ++_1 ) + 1 + 1 + 1 );
            Console.Write( (char)_12 );

            _13 += (short)( 39 + 38 + 39 );
            Console.Write( (char)_13 );

            if( _12 < _13 )
                Console.Write( (char)_13 );

            if( _13 >= _4 )
            {
                _14 = (short)( 500 - ( - ( 50 ) ) - ( --_1 ) - 90 - ( -4 ) - 267 );
                Console.Write( (char)_14 );
            }

            switch( _1 )
            {
                case 52:
                    _15 += (short)( ++_1 + ( ++_21 ) );
                    break;
                default:
                    _15 += (short)( 15 + ( ++_1 ) + 2 );
                    break;
            }

            Console.Write( (char)_15 );

            if( _16 <= 3521 && _21 < _4 )
                Console.WriteLine( (char)_16 );

            _16 = (short)( Int16.Parse( "54" ) % 2 );
            _20 = (short)( Int16.Parse( "99" ) / ( _1 > _4 ? 3 : 0 ) );
            _1 = (short)( 02.23 );

            if( _16 > 9 || _20 >= 52 )
                _1 += (short)( ( ++_1 ) + _21 );

            a[ -0 < 0 ? -52 - ( --_20 ) : 1 > 0 ? 1 : 2 ] = (short)( _12 < _19 ? Int16.Parse( "19" ) : 44 );
            _12 -= (short)f( --_19 / 19.467d );

            if( _12 > _14 )
                _19 += (short)( _19 + 1 + _3 + 5 );

            a[ -904 < 409 ? 4 + ( ++_4 ) + 4 : 49 > 50 ? 49 : 50 ] = (short)( 50 < 99 ? _4 + 669.2452 : 0 );

            if( 44 > ++_4 )
                a[ -9 < 6 ? 6 + ( ++_4 ) : 9 > 2 ? 44 : 8 ] = 3;
        }

        private static double f( double x )
        {
            return x < 12 ? x + 13.22 : x < 6 ? x + 90.45 : 5555; 
        }
    }
}

এই আসল ব্রেইনফাক কোডটি আমি এই চ্যালেঞ্জের জন্য লিখেছি:

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

ব্রেইনফাক ইন্টারপ্রেটারের মাধ্যমে সি # কোড চালানোর সময়, আপনি নিম্নলিখিত কমান্ডগুলি দিয়ে শেষ করেন (শুরুতে বর্গাকার বন্ধনী যুক্ত করার বিষয়টি লক্ষ্য করুন, এগুলি অ্যারে ডিক্লেয়ারেশন থেকে আসে এবং কিছুই করে না, যেহেতু মেমরি পয়েন্টারের নীচে ঘরটি থাকে অ্যারে ইতিমধ্যে 0 হবে:

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

6

স্বল্প কথা

"adding adding all the time"
"1+1+1+1+1+1+1+1+1+1+1" "is not fine"
"more to come / going far" 
"+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1"
"all that work for a single char"

"happy me / a loop to start" 
"[>++>+++>++++>+++++<<<<-]"
"was it code or just a fart?"
"adding adding / thats not fine"
"+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1"

">>+" 'New is always better.' "shall I " print
">+.++.--.+++++++++.----------.<<----...<+++++++"
"the garbage here gives us no hint"
".>>+++++++++++.>---.++++++++" 

"hurray a change to stop the pain" 
".>---------.<<<<.>>" 
"the author now has in his brain"
"-----------------.>>-----.+++.<<<<.>>>.>++."
"We all agree the time is here"
"<<<...<.>>--.>--------.>--.+++++++.<<<<."
"to finish this and have a beer"

একটি ওয়ার্কস্পেসে টাইপ করুন এবং "doIt" টিপুন, বা বিএফকে প্রেরণ করুন। অন্যান্য পোস্টারগুলি থেকে বিএফ চুরি হয়েছে - ধন্যবাদ।


4

জাভাস্ক্রিপ্ট / ব্রেইনফাক

অগল্ফড সংস্করণ এটি কোনও কোড-গল্ফের প্রতিযোগিতা না হিসাবে:

var outputString='';
'+++++++@++++[>++@/+@@>@/+@+@++>++++++@/+>+@++@/+@@+++++@/>@+@+++++@/+++@+<@/<<<<-]>>>@-.>++.+@/+@@.--.>.<-@/.@<@<++...<-.@/>>>>+++++@++++.<-@/-@-.@+@/+@+@+++++@/.>-@--@/.<<<<.>>>@---.>---@/-@@-@/.@+@++.<<<@/<@.@>>>+++@/.@@>@/+@+@.<<<@/...<@.>>>--@/---.---.>--.+++++++.<<<<+.<'
  .split('/')
  .forEach(function(e) {
    var matched=e.match(/[^@]*@/g);
    if (matched) {
      var asciiCode=0;
      for(var i=0;i<matched.length;i++) {
        asciiCode=matched[i-0].length-1+10*asciiCode;
      }
      outputString+=String.fromCharCode(asciiCode);
    }
  });
  alert(outputString);

এটি আমার জন্য বিএফ শিখার উপলক্ষ ছিল এবং এটি মজাদার ছিল :) অসুবিধাটি কখনই ব্যবহারকারীর ইনপুট হিসাবে বিএফকে ব্যাখ্যা করে না তা ব্যবহার করা
ছিল এবং নিশ্চিত হওয়া উচিত যে অ্যারেগুলির উপাদানগুলিতে অ্যাক্সেস করার আগে বাইট 0 হয় । জেএস এনকোডিং বেশ সহজ, প্রতিটি অক্ষর এনকোড করার আগে প্রতিটি স্ট্রিং এবং প্রতিটি স্ট্রিংয়ের দৈর্ঘ্য দশমিক এএসসিআইআই কোড নির্ধারণের আগে । ( = = ) ,[]
/@+++++++@++++[>++@78N

আপনি এখানে ব্রেইনফাক পরীক্ষা করতে পারেন: http://copy.sh/brainfuck/


3

কিউবিকভাবে ( টিআইও ) / বিএফ ( টিআইও )

+5+1/1+5+3@6:2/1+5+5+1@6+2@6:5/1+3@6:5+1/1+5+5+1@6:5+2/1+5+5+2@6:5/1+3@6:5+2/1+5+5@6:5+5+2@6:2/1+5+53[@6>:5+2/1+5+5@6>:4/1+5+5+3@6+>:5+2/1+55+2@6:5/1+3@6>:5+3/1+55@6>:2/1+551@6<<<<<-]>:5+3./1+552-@66>+.:2/1+5+51.@6--.>:5+1/1+5+5+2@6:1/1+5@6+++++.>----...>+++++++.<<+++++++++.<----.++++++++.>---.>>.<<<---.>-----.+++.>>.<<<+++.>++.>...>.<<<-----.---.>--.+++++++.>>+.

(কিউবিকভাবে ভাষা পরিবর্তনের জন্য অ্যাকাউন্টে 8/4/17 আপডেট করা হয়েছে)

মূলত এটি কিউবিকালি প্রোগ্রামে বিএফ প্রোগ্রামের যতগুলি অক্ষর ব্যবহার করে তা ব্যবহার করে, তারপরে বিএফ প্রোগ্রামের বাকি অংশটি এটির শেষে আটকে দেয়। কিউবিক্যালি প্রোগ্রামের সাথে &/ Eতে কোনও বাধ্যতামূলক সমাপ্তি প্রয়োজন is


2

পাইথন / ব্রেনএফ ** কে, 362 টি অক্ষর

ক্লেনমেন্ট রেনাউডের মুছে ফেলা উত্তর থেকে নেওয়া BrainF ** কে কোড।

সম্পাদনা করুন - প্রাথমিক নাল অক্ষর আর মুদ্রিত হয় না।

t='++++++++++_+++++++|^+++++++|+[>++>+++%>++++>+++++<<<<-||]+++++++++++|*+++++++++++++@+>>+.>+||.++.|--.+++++++++.--|^--------.<<----..._<+++++|++.>|>+++++&++++++.>---.+=+++++++|.>---------.<<^<<.>>--||-----|--~-----|---.>>-----~.+++.<<<<.>|>>.*>++.<<<...<.>>--._>|--------|.>-^-.+++++++.<<<<!!!'
print ''.join((chr(93+len(x))if x else' ')for x in t.split('|'))

একটি খুব সাধারণ কৌশল ব্যবহার করে - |বিএফ প্রোগ্রামে অক্ষর যুক্ত হয়েছিল এবং তাদের মধ্যে দূরত্বগুলি পাইথনে মুদ্রিত স্ট্রিংটিকে এনকোড করে। পাইথন কোডটি বেশিরভাগ বিএফ দ্বারা উপেক্ষা করা হয়।


শুরুতে '\ 0' মুদ্রণ করা ঠিক আছে কি?
VX

@ ভিএক্স, সম্ভবত এটি না। বিএফ কোডটি অনুলিপি করা হয়েছে এবং আমি লক্ষ্য করেছি যে এটি .joinযুক্ত হয়েছে .তবে কোনও ক্ষতি দেখেনি (কারণ \0অদৃশ্য)। এটি +হ'ল এবং .splitঠিক আছে - আমি মূলগুলি থেকে অক্ষরগুলি সরিয়েছি।
ugoren
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.