সংখ্যাগুলি 0 দ্বারা ভাগ করুন


16

আমাদের সকলকে আমাদের জীবনের এক পর্যায়ে বলা হয়েছিল যে 0 দিয়ে ভাগ করা অসম্ভব। এবং বেশিরভাগ ক্ষেত্রে, উক্তিটি সত্য is তবে যদি নিষিদ্ধ অপারেশন করার কোনও উপায় ছিল ? আমার নতুন সৃষ্টি স্বাগতম: b-numbers।

bসংখ্যাগুলি কিছুটা কাল্পনিক সংখ্যার মতো: জড়িত মূল সর্বনাম এমন একটি ভাবের প্রতিনিধিত্ব করে যা গাণিতিকভাবে অসম্ভব নয় ( iপ্রতিনিধিত্ব করে 1 )। এই ক্ষেত্রেbপ্রকাশ প্রতিনিধিত্ব করতে বলা হবে। এখান থেকে determineequalকোনটিসমান হবেতা নির্ধারণ করা সহজ:10x0

x0=x110=xb

কাজটি

0 দ্বারা একটি বিভাগ জড়িত একটি অভিব্যক্তি দেওয়া, শর্তাবলী সরলীকৃত মান আউটপুট । নোট করুন যে ইনপুটটি এমন আকারে থাকবে যেখানে এন কোনও যুক্তিযুক্ত সংখ্যা বা দশমিক আকারে কোনও সংখ্যা রয়েছে । শীর্ষস্থানীয় 0 টি এবং পিছনে 0 সেগুলি অন্তর্ভুক্ত হবে না।bn/0b

উদাহরণ ইনপুট

4/0
1/0
0/0
80/0
-8/0
1.5/0
2.03/0
-1/0
-3.14/0
b/0
3b/0
-b/0
121/0

উদাহরণ আউটপুট

4b
b
0
80b
-8b
1.5b
2.03b
-b
-3.14b
b
3b
-b
121b

স্কোর

এটি কোড গল্ফ, তাই খুব কম বাইট জিতেছে। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নতি করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি আলাদাভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes


7
আমি সন্দেহ যে আমি কিছু ভুল করছি, কিন্তু যদি b/0 = bতারপর যদি আমি দুটি অংশে বিভক্ত bতারপর 1/0 = 1cএইভাবে ভাগ করার জন্য আমার কি সংখ্যাগুলি দরকার ?
আমার সর্বনামটি

4
@ এরিক, b/b = 0যখন এটি সাধারণত হয় (এবং আমি নিশ্চিত যে এটি সহজেই সমস্ত বিবিধ অক্ষর থেকে প্রমাণিত হয়) 1 হবে বলে প্রত্যাশিত (অন্যথায়, খ এর গুণক বিপরীতটি এর গুণক বিপরীত বলে মনে হয় না)। আমি নিশ্চিত যে আপনি শূন্য দ্বারা বিভাজনের বিরুদ্ধে লুপোল করতে পারবেন না b=1/0বা অনুরূপ কিছু যুক্ত করে ।
আমার সর্বনামটি 31:51

30
শূন্য দ্বারা বিভাজনের একটি কারণ অপরিজ্ঞাত ... । সুতরাং আপনার সকল উদাহরণকে (০ এর তৃতীয় ব্যতীত) কেবলb=1b=11b=33b=3130=30=310=3bb
বেশিরভাগ ক্ষতিগ্রস্থ

8
তৃতীয় উদাহরণের 0bচেয়ে আউটপুট থাকা উচিত নয় 0? যদি দুটি এক্সপ্রেশন সমান হয় তবে প্রশ্নের কোনও
পূর্বসূচি

4
প্রস্তাবিত পরীক্ষার কেস:3.1b/0
জিমি 23013

উত্তর:


19

মলবোজ আনশ্যাকলড (20-ট্রিট রোটেশন ভেরিয়েন্ট), 3,62e6 বাইট

এই উত্তরের আকারটি সর্বোচ্চ পোস্টযোগ্য প্রোগ্রামের আকারের (এএইচ) ছাড়িয়ে গেছে, সুতরাং কোডটি আমার গিটহাব সংগ্রহস্থলে অবস্থিত (দ্রষ্টব্য: সিটিআরএল + এ এবং সিটিআরএল + সি ব্যবহার করে কোডটি অনুলিপি করবেন না, কেবল ডান ক্লিক করুন এবং "গন্তব্য উপাদান হিসাবে সংরক্ষণ করুন" এ ক্লিক করুন। .. ")।

এটি কিভাবে চালানো যায়?

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

সেরা এক আমি খুঁজে পাইনি সংশোধন 20 trit ঘূর্ণন প্রস্থ বৈকল্পিক, যে সঞ্চালিত খুব ভাল, গণক (প্রায় কাছাকাছি) সঙ্গে সঙ্গে

দোভাষীটিকে কিছুটা দ্রুত করার জন্য, আমি ম্যাথিয়াস লুটারের মালবোলজ আনশ্যাকল্ড দোভাষী থেকে সমস্ত চেক সরিয়েছি।

#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

const char* translation = "5z]&gqtyfr$(we4{WP)H-Zn,[%\\3dL+Q;>U!pJS72Fh"
        "OA1CB6v^=I_0/8|jsb9m<.TVac`uY*MK'X~xDl}REokN:#?G\"i@";

typedef struct Word {
    unsigned int area;
    unsigned int high;
    unsigned int low;
} Word;

void word2string(Word w, char* s, int min_length) {
    if (!s) return;
    if (min_length < 1) min_length = 1;
    if (min_length > 20) min_length = 20;
    s[0] = (w.area%3) + '0';
    s[1] = 't';
    char tmp[20];
    int i;
    for (i=0;i<10;i++) {
        tmp[19-i] = (w.low % 3) + '0';
        w.low /= 3;
    }
    for (i=0;i<10;i++) {
        tmp[9-i] = (w.high % 3) + '0';
        w.high /= 3;
    }
    i = 0;
    while (tmp[i] == s[0] && i < 20 - min_length) i++;
    int j = 2;
    while (i < 20) {
        s[j] = tmp[i];
        i++;
        j++;
    }
    s[j] = 0;
}

unsigned int crazy_low(unsigned int a, unsigned int d){
    unsigned int crz[] = {1,0,0,1,0,2,2,2,1};
    int position = 0;
    unsigned int output = 0;
    while (position < 10){
        unsigned int i = a%3;
        unsigned int j = d%3;
        unsigned int out = crz[i+3*j];
        unsigned int multiple = 1;
        int k;
        for (k=0;k<position;k++)
            multiple *= 3;
        output += multiple*out;
        a /= 3;
        d /= 3;
        position++;
    }
    return output;
}

Word zero() {
    Word result = {0, 0, 0};
    return result;
}

Word increment(Word d) {
    d.low++;
    if (d.low >= 59049) {
        d.low = 0;
        d.high++;
        if (d.high >= 59049) {
            fprintf(stderr,"error: overflow\n");
            exit(1);
        }
    }
    return d;
}

Word decrement(Word d) {
    if (d.low == 0) {
        d.low = 59048;
        d.high--;
    }else{
        d.low--;
    }
    return d;
}

Word crazy(Word a, Word d){
    Word output;
    unsigned int crz[] = {1,0,0,1,0,2,2,2,1};
    output.area = crz[a.area+3*d.area];
    output.high = crazy_low(a.high, d.high);
    output.low = crazy_low(a.low, d.low);
    return output;
}

Word rotate_r(Word d){
    unsigned int carry_h = d.high%3;
    unsigned int carry_l = d.low%3;
    d.high = 19683 * carry_l + d.high / 3;
    d.low = 19683 * carry_h + d.low / 3;
    return d;
}

// last_initialized: if set, use to fill newly generated memory with preinitial values...
Word* ptr_to(Word** mem[], Word d, unsigned int last_initialized) {
    if ((mem[d.area])[d.high]) {
        return &(((mem[d.area])[d.high])[d.low]);
    }
    (mem[d.area])[d.high] = (Word*)malloc(59049 * sizeof(Word));
    if (!(mem[d.area])[d.high]) {
        fprintf(stderr,"error: out of memory.\n");
        exit(1);
    }
    if (last_initialized) {
        Word repitition[6];
        repitition[(last_initialized-1) % 6] =
                ((mem[0])[(last_initialized-1) / 59049])
                    [(last_initialized-1) % 59049];
        repitition[(last_initialized) % 6] =
                ((mem[0])[last_initialized / 59049])
                    [last_initialized % 59049];
        unsigned int i;
        for (i=0;i<6;i++) {
            repitition[(last_initialized+1+i) % 6] =
                    crazy(repitition[(last_initialized+i) % 6],
                        repitition[(last_initialized-1+i) % 6]);
        }
        unsigned int offset = (59049*d.high) % 6;
        i = 0;
        while (1){
            ((mem[d.area])[d.high])[i] = repitition[(i+offset)%6];
            if (i == 59048) {
                break;
            }
            i++;
        }
    }
    return &(((mem[d.area])[d.high])[d.low]);
}

unsigned int get_instruction(Word** mem[], Word c,
        unsigned int last_initialized,
        int ignore_invalid) {
    Word* instr = ptr_to(mem, c, last_initialized);
    unsigned int instruction = instr->low;
    instruction = (instruction+c.low + 59049 * c.high
            + (c.area==1?52:(c.area==2?10:0)))%94;
    return instruction;
}

int main(int argc, char* argv[]) {
    Word** memory[3];
    int i,j;
    for (i=0; i<3; i++) {
        memory[i] = (Word**)malloc(59049 * sizeof(Word*));
        if (!memory) {
            fprintf(stderr,"not enough memory.\n");
            return 1;
        }
        for (j=0; j<59049; j++) {
            (memory[i])[j] = 0;
        }
    }
    Word a, c, d;
    unsigned int result;
    FILE* file;
    if (argc < 2) {
        // read program code from STDIN
        file = stdin;
    }else{
        file = fopen(argv[1],"rb");
    }
    if (file == NULL) {
        fprintf(stderr, "File not found: %s\n",argv[1]);
        return 1;
    }
    a = zero();
    c = zero();
    d = zero();
    result = 0;
    while (!feof(file)){
        unsigned int instr;
        Word* cell = ptr_to(memory, d, 0);
        (*cell) = zero();
        result = fread(&cell->low,1,1,file);
        if (result > 1)
            return 1;
        if (result == 0 || cell->low == 0x1a || cell->low == 0x04)
            break;
        instr = (cell->low + d.low + 59049*d.high)%94;
        if (cell->low == ' ' || cell->low == '\t' || cell->low == '\r'
                || cell->low == '\n');
        else if (cell->low >= 33 && cell->low < 127 &&
                (instr == 4 || instr == 5 || instr == 23 || instr == 39
                    || instr == 40 || instr == 62 || instr == 68
                    || instr == 81)) {
            d = increment(d);
        }
    }
    if (file != stdin) {
        fclose(file);
    }
    unsigned int last_initialized = 0;
    while (1){
        *ptr_to(memory, d, 0) = crazy(*ptr_to(memory, decrement(d), 0),
                *ptr_to(memory, decrement(decrement(d)), 0));
        last_initialized = d.low + 59049*d.high;
        if (d.low == 59048) {
            break;
        }
        d = increment(d);
    }
    d = zero();

    unsigned int step = 0;
    while (1) {
        unsigned int instruction = get_instruction(memory, c,
                last_initialized, 0);
        step++;
        switch (instruction){
            case 4:
                c = *ptr_to(memory,d,last_initialized);
                break;
            case 5:
                if (!a.area) {
                    printf("%c",(char)(a.low + 59049*a.high));
                }else if (a.area == 2 && a.low == 59047
                        && a.high == 59048) {
                    printf("\n");
                }
                break;
            case 23:
                a = zero();
                a.low = getchar();
                if (a.low == EOF) {
                    a.low = 59048;
                    a.high = 59048;
                    a.area = 2;
                }else if (a.low == '\n'){
                    a.low = 59047;
                    a.high = 59048;
                    a.area = 2;
                }
                break;
            case 39:
                a = (*ptr_to(memory,d,last_initialized)
                        = rotate_r(*ptr_to(memory,d,last_initialized)));
                break;
            case 40:
                d = *ptr_to(memory,d,last_initialized);
                break;
            case 62:
                a = (*ptr_to(memory,d,last_initialized)
                        = crazy(a, *ptr_to(memory,d,last_initialized)));
                break;
            case 81:
                return 0;
            case 68:
            default:
                break;
        }

        Word* mem_c = ptr_to(memory, c, last_initialized);
        mem_c->low = translation[mem_c->low - 33];

        c = increment(c);
        d = increment(d);
    }
    return 0;
}

ইহা কাজ করছে!

ইহা কাজ করছে!


6
আমি আশা করি আপনি এটি সমস্ত টাইপ করেন নি।
কানেক্টিওরচার্জার

5
আমি যখন আপনার প্রোগ্রামটি খুললাম, ক্রোম পোলিশ
থারউবেন

@ থারউইন এক নজরে, এটি পোলিশ বা কেবল মালবোলজ বলা মুশকিল। দুঃখের বিষয় আমার ভাষা শিখতে পৃথিবীতে নরক।
ক্রিজিসটোফ সেজউইজিক

7

পিএইচপি , 65 64 61 58 বাইট

(খালি স্ট্রিং) এর bপরিবর্তে -1 বাইট ব্যবহার করুন ''। যেহেতু "বি" গুলি ছাঁটা হয়েছে তাই এটি নির্দিষ্ট ক্ষেত্রে এটি খালি স্ট্রিংয়ের মতো হবে।

ইনপুট প্রথম অংশ পেতে substrপরিবর্তে -3 বাইট ব্যবহার explode

-3 বাইটগুলি আরও ভাল পদ্ধতি সনাক্ত করে 1এবং ব্যবহার করে -1

<?=($n=substr($argn,0,-2))?trim($n+1?$n-1?$n:b:'-',b).b:0;

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

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

"/" এর আগে ইনপুটটির প্রথম অংশটি যদি (আমরা এটিকে ডাকি $n) 0 হয়, তবে 0 মুদ্রণ করে।

অন্য $nএটি থেকে ছাঁটাই হওয়া শেষে কোনও "বি" দিয়ে নিজেকে মুদ্রণ করে এবং -1 এবং 1 এর বিশেষ কেসগুলি পরিচালনা করে, সুতরাং "1" ডিজিটটি মুদ্রিত হয় না। এবং শেষে একটি একক "বি" সংযোজন করা হয়। ট্রিমিং অংশটি নিশ্চিত করা হয় যে আমরা "3 বিবি" এর মতো শেষে ডাবল "বি" পাই না।


খুব সুন্দরভাবে সম্পন্ন!
লিক্সাল

(-2 বাইট) $n==-1দিয়ে প্রতিস্থাপন $n>0কাজ করে বলে মনে হচ্ছে। আপনি যে চেষ্টা করতে পারে।
ইসমাইল মিগুয়েল

@ ইসমাইল মিগুয়েল, এটি কাজ করছে না, যদি আপনি বোঝাতে চেয়েছিলেন তবে $n<0এটি খুব বেশি কার্যকর হবে না, যেহেতু আমাদের ইনপুটগুলি পছন্দ করে -8/0
রাত

@IsmaelMiguel, কিন্তু আপনি আমাকে একটি ধারণা, প্রতিস্থাপিত দিলেন $n==-1?'-':$nসঙ্গে $n+1?$n:'-'2 বাইট সংরক্ষণ করুন!
রাত

1
: / যখন আমি পরীক্ষা করেছি, মনে হচ্ছে এটি কাজ করবে। তবে ভাল, ভাল জিনিস যা আপনি অন্য একটি উপায় খুঁজে পেয়েছেন।
ইসমাইল মিগুয়েল


4

জেলি , 18 বাইট

আমি এরিকের চুরি শেষ করেছি ṾṖ$İƑ¡(অন্যথায় আমারও 19 হবে) ...

ṖṖv0ḢṾṖ$İƑ¡,Ạ¡”boḢ

একটি পূর্ণ প্রোগ্রাম যা ফলাফল মুদ্রণ করে।

এটি অনলাইন চেষ্টা করুন! অথবা পরীক্ষা-স্যুটটি দেখুন

কিভাবে?

ṖṖv0ḢṾṖ$İƑ¡,Ạ¡”boḢ - Main Link: list of characters S
Ṗ                  - discard right-most (of S)
 Ṗ                 - discard right-most
   0               - literal zero
  v                - evaluate as Jelly code with right argument (0)
                   - ... b is covert-to-base, so "nb0" gives [n]
    Ḣ              - head ([n]->n or n->n)
          ¡        - repeat...
         Ƒ         - ...# of times: is invariant under:
        İ          -   reciprocation (n->1/n)
       $           - ...action: last two links as a monad:
     Ṿ             -   un-evaluate (-1->"-1" or 1->"1")
      Ṗ            -   discard right-most ("-1"->"-" or "1"->"")
             ¡     - repeat...
            Ạ      - ...# of times: all?
           ,  ”b   - ...action: pair with a 'b' character
                o  - logical OR with:
                 Ḣ -   head (S)  (i.e. if we end with 0 use the 1st character of the input)
                   - implicit print

1
আহ্, এবং আমি যেভাবে আমি অপব্যবহার করতে পারি v
সেগুলি নিয়ে ভাবছিলাম

4

পার্ল 6 , 32 বাইট

{~m/^0/||S/[(\-|^)1|b]?\/0/$0b/}

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

যদি ইনপুট regexes কয়েক, এক চেক করতে 0/0, এবং অন্যান্য চিহ্ন প্রতিস্থাপন /0শুধু সঙ্গে b(এবং অপসারণ করার জন্য পুরাতন b, 1এবং / অথবা -1)

ব্যাখ্যা (পুরানো)

{                          }  # Anonymous codeblock
 ~m/^0/     # Return 0 if the input starts with 0
       ||   # Otherwise
         S/             / /  # Substitute
                     \/0       # The /0
          (        )?          # Optionally starting with
           <wb>1               # 1 or -1
                |b             # Or b
                         b   # With just b

3

রেটিনা , 28 24 বাইট

b?/0
b
^0b
0
(^|-)1b
$1b

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

প্রথমে রেটিনা ব্যবহার করার চেষ্টা করুন, তাই সম্ভবত গল্ফ করার জন্য যথেষ্ট জায়গা রয়েছে।



কী \bকরে তার জন্য শিকার করার পরে (আমি যে রিজেক্সের সাথে অনভিজ্ঞ) আমি এটিকে খুঁজে পাওয়ার জন্য কিছুটা হতাশ হয়েছি যে এটি অপ্রিনিতযোগ্য ব্যাকস্পেস চরিত্রটি ছোট করা যায় না। যাইহোক, ধন্যবাদ
অসম্পূর্ণ স্ট্রিং

1
@ আনরলেটেড স্ট্রিং অবশ্যই ব্যাকস্পেসে ছোট করা যায় না, সর্বোপরি \bসাধারণ স্ট্রিংয়ে ব্যাকস্পেসের চরিত্রের কেবল একটি ASCII প্রতিনিধিত্ব: পি
এএসসিআই-কেবল

2

পাইথন 3 , 68 বাইট

import re
print(re.sub('^0b$','0',re.sub(r'(^1)?b?/0','b',input())))

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


চমৎকার সমাধান! তবে import reবাইটোকন্টে 64
পৌঁছেছে

1
@ মোভাত্তিকার ভাল পয়েন্ট, নতুন এখানে তাই বুঝতে পারিনি আমদানির বিবৃতি অন্তর্ভুক্ত ছিল (যদিও এটি অবশ্যই)। সম্পাদনা করা হয়েছে।
কাজিম

স্বাগত! :) আপনি এখনও লম্বা সংক্ষিপ্ত সংস্করণ রাখতে পারেন! এটি একটি পূর্ণ প্রোগ্রাম হওয়ার দরকার নেই। এবং আমদানি বিবৃতিটি ল্যাম্বডা সংজ্ঞা অনুসারে স্থাপন করা যেতে পারে, সুতরাং 64৪ বাইট সম্ভব !
মুভিটিকা

1
@ মোভ্যাটিকা আহ, সুন্দর! আমদানি এবং লাম্বদা দিয়ে এটি কাজ করার কোনও উপায় আমি খুঁজে পাইনি। আপনাকে ধন্যবাদ
কাজিম

1

কেগ , 18 বি

সমস্ত কৃতিত্ব জোনোর 2906।

__:b=;[b]^:\1=[_]^

ব্যাখ্যা

__                 # Take implicit input and remove the "trash" (/0).
  :b=              # Is the last character equal to b?
     ;             # Negate(decrement) this value.
      [b]          # If the last character is not b, append b.
         ^         # Reverse the stack.
          :\1=     # Is the first character equal to 1?
              [_]  # If so, reduce the value.
                 ^ # Reverse the stack back and implicit output.

Tio!



1

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

s=>+(n=s.split`/`[0])?[n*n-1?n:'-'[~n]]+'b':n

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

মন্তব্য

s =>                  // s = input: "numerator/0"
  +(                  //
    n = s.split`/`[0] // n = numerator, as a string
  ) ?                 // if n coerced to a Number is neither equal to 0 nor NaN:
    [ n * n - 1 ?     //   if abs(n) is not equal to 1:
        n             //     append the numerator
      :               //   else:
        '-'[~n]       //     append '-' if n = -1, or an empty string otherwise
    ] + 'b'           //   append 'b'
  :                   // else:
    n                 //   just output the numerator because it's either "0" or
                      //   an expression that already contains 'b'

1

সি, 209 203 137 বাইট

-66 সিলিংক্যাট ধন্যবাদ বাইট

char a[9];main(f){gets(a);f=strlen(a)-3;a[f+1]=0;printf((*a==55&a[1]==49&f==1?a[1]=98:*a==49&!f?*a=98:a[f]==98|*a==48&!f)?"%s":"%sb",a);}

Tio


-0/0 স্থাপন করা -0 বি দেয় তবে এটি উদাহরণ ইনপুট বা পরীক্ষার ক্ষেত্রে কখনও ছিল না, তাই এটি সঠিক।
গিরোবুজ

1

নাজ , 64 বাইট

6a8m1s2x1v2m4a2x2v1x1f1r3x1v2e3x2v3e1o1f0x1x2f2m4a1o0x1x3f1o0x1f

ব্যাখ্যা ( 0xআদেশগুলি সরানো সহ)

6a8m1s2x1v             # Set variable 1 equal to 47 ("/")
2m4a2x2v               # Set variable 2 equal to 98 ("b")
1x1f                   # Function 1
    1r                 # Read a byte of input
      3x1v2e           # Jump to function 2 if it equals variable 1
            3x2v3e     # Jump to function 3 if it equals variable 2
                  1o1f # Otherwise, output it and jump back to the start of the function
1x2f2m4a1o             # Function 2
                       # Set the register equal to 98 and output once
1x3f1o                 # Function 3
                       # Output once
1f                     # Call function 1

0

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

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

ব্যাখ্যা

>,[>,]        read from stdin
<[-<+>]<+++   add last two cells and add three ( ascii('/') + ascii('0') + 3 = ascii('b')
[<]>          move pointer to first char to output
[.>]          output until cell w/ value 0

1
b/0প্রত্যাশিত b, পেয়েছি bb; 0/0প্রত্যাশিত 0, পেয়েছি 0b; -1/0প্রত্যাশিত -b, পেয়েছিলাম -1b
a'_ '

হ্যাঁ, মূলত এই শুধুমাত্র পরিপূরক /0জন্য bএবং জন্য মামলার কোনো একাউন্টে লাগবে না 0b, 1b, -1bবা কোনো ইনপুট ইতিমধ্যে একটি ধারণb
জো রাজা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.