সমান, যোগফল বা পার্থক্য!


32

সংক্ষিপ্ততম কোড লিখুন যা প্রদত্ত দুটি পূর্ণসংখ্যার মান সমান বা তাদের যোগফল বা পরম পার্থক্য 5 হলে সত্য ফিরে আসবে।

উদাহরণ পরীক্ষার ক্ষেত্রে:

4 1 => True
10 10 => True
1 3 => False
6 2 => False
1 6 => True
-256 -251 => True
6 1 => True
-5 5 => False

পাইথন 2-এর সাথে আমি সবচেয়ে সংক্ষিপ্ততম 56 অক্ষর দীর্ঘ:

x=input();y=input();print all([x-y,x+y-5,abs(x-y)-5])<1

-9, ধন্যবাদ @ এলপিড্রো। এটি x, y ফর্ম্যাটটিতে ইনপুট নেয়:

x,y=input();print all([x-y,x+y-5,abs(x-y)-5])<1

9
পিপিসিজিতে আপনাকে স্বাগতম! এটি একটি ভাল প্রথম চ্যালেঞ্জ - চ্যালেঞ্জটি পরিষ্কারভাবে সংজ্ঞায়িত হয়েছে, এতে পর্যাপ্ত পরীক্ষার কেস রয়েছে এবং এটি আমাদের ডিফল্ট আই / ও ব্যবহার করে! যদি আপনি কিছু সময়ের জন্য স্থির থাকেন এবং আকর্ষণীয় চ্যালেঞ্জগুলি ভাবতে থাকেন তবে আমি এই সাইটে পোস্ট করার আগে স্যান্ডবক্সটি তাদের প্রতিক্রিয়া জানাতে পরামর্শ দেব । আমি আশা করি আপনি এখানে সময় কাটাবেন!
জিউসেপ

উত্তর:


22

পাইথন 2 , 30 বাইট

lambda a,b:a in(b,5-b,b-5,b+5)

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

একটি বাইট সংরক্ষণ করেছেন আর্নল্ড

আলেফালফ দ্বারা তিনটি বাইট সংরক্ষণ করা হয়েছে


এটি আশ্চর্যজনকভাবে সংক্ষিপ্ত, ধন্যবাদ
বিক্রমান বিশ্বাস

অষ্টাভে / এমএটিএলবিতে 29 বাইটে একই কাজ করা যায় ( এটি অনলাইনে চেষ্টা করুন! )
টম কার্পেন্টার

17

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

হিসাবে ইনপুট লাগে (a)(b)। ফেরত পাঠায় 0 বা 1

a=>b=>a+b==5|!(a-=b)|a*a==25

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


1
অভিশাপ, আমাকে পার্থক্যটির অংশটি কীভাবে পরিচালনা করছে তা নির্ধারণ করতে দীর্ঘ সময় নিয়েছে। :)
বিক্রত বিশ্বাস


8

x86 মেশিন কোড, 39 বাইট

00000000: 6a01 5e6a 055f 5251 31c0 39d1 0f44 c601  j.^j._RQ1.9..D..
00000010: d139 cf0f 44c6 595a 29d1 83f9 050f 44c6  .9..D.YZ).....D.
00000020: 83f9 fb0f 44c6 c3                        ....D..

সমাবেশ

section .text
	global func
func:					;inputs int32_t ecx and edx
	push 0x1
	pop esi
	push 0x5
	pop edi
	push edx
	push ecx
	xor eax, eax

	;ecx==edx?
	cmp ecx, edx
	cmove eax, esi

	;ecx+edx==5?
	add ecx, edx
	cmp edi, ecx
	cmove eax, esi
	
	;ecx-edx==5?
	pop ecx
	pop edx
	sub ecx, edx
	cmp ecx, 5
	
	;ecx-edx==-5?
	cmove eax, esi
	cmp ecx, -5
	cmove eax, esi

	ret

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


5

জে , 12 11 বাইট

অ্যাডমকে ধন্যবাদ 1 বাইট সংরক্ষিত

1#.=+5=|@-,+

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

ব্যাখ্যা

এটি সমান:

1 #. = + 5 = |@- , +

এটি নিম্নলিখিত কাঁটাচামচ চেইন মধ্যে বিভক্ত করা যেতে পারে:

(= + (5 e. (|@- , +)))

বা, ব্যবহার করে ভিজ্যুয়ালাইজড 5!:4<'f':

  ┌─ =               
  ├─ +               
──┤   ┌─ 5           
  │   ├─ e.          
  └───┤          ┌─ |
      │    ┌─ @ ─┴─ -
      └────┼─ ,      
           └─ +      

সটীক:

  ┌─ =                                     equality
  ├─ +                                     added to (boolean or)
──┤   ┌─ 5                                   noun 5
  │   ├─ e.                                  is an element of
  └───┤          ┌─ |  absolute value         |
      │    ┌─ @ ─┴─ -  (of) subtraction       |
      └────┼─ ,        paired with            |
           └─ +        addition               | any of these?

একটি বাইট সংরক্ষণ করুনe.
এডম

@ আদম কীভাবে? আমার সাথে সংক্ষিপ্ততম পন্থা e.ছিল =+.5 e.|@-,+। আপনি কি ভুলে 5e.গেছেন জেতে একটি অবৈধ টোকেন?
কনর ও'ব্রায়ান

1
যেহেতু দুটি পূর্ণসংখ্যা একই সাথে 5 এর সমষ্টি হতে পারে এবং সমান হতে পারে না, আপনি এর +পরিবর্তে ব্যবহার করতে পারেন+.
অ্যাডাম

@ আদম আহ, আমি আপনাকে ধন্যবাদ, ধন্যবাদ
কনার ও'ব্রায়ান

5

আর , 40 বাইট (বা 34)

function(x,y)any((-1:1*5)%in%c(x+y,x-y))

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

নন-আর ব্যবহারকারীদের জন্য:

  • -1:1*5 প্রসারিত হয় [-5, 0, 5]
  • %in%অপারেটর বাম দিক থেকে উপাদান এবং চেক লাগে (উপাদান-অনুযায়ী) তারা ডান দিকে ভেক্টর মধ্যে উপস্থিত যদি

সরাসরি বন্দর @ ArBo এর সমাধান হয়েছে 35 34 বাইট, তাই ভোট দিন হয়ে যেতে পারে উত্তর যদি আপনি এটা পছন্দ:

function(x,y)x%in%c(y--1:1*5,5-y)

34 বাইটটি 1 দিয়ে হ্রাস করা যেতে পারেfunction(x,y)x%in%c(y--1:1*5,5-y)
মিকিটি

বিয়োগফলটি সরিয়ে 30 বাইটে নামতে পারে: function(x,y)(x-y)%in%(-1:1*5)এবং ইনপুটটিতে ফাংশন স্বরলিপিটি ফেলে এটিকে আরও 24 বাইটে ফেলে দিন scan(): diff(scan())%in%(-1:1*5) অনলাইনে চেষ্টা করে দেখুন! । এখনও অনেক একই পদ্ধতি যদিও।
অপরাধে

1
@ ক্রিমিনালিভালগার কি এই অ্যাকাউন্টটির যোগফল 5 হবে?
আরবো

@ আরবো হাহ, অনুমানটি মিস করেছেন, এবং টিআইওতে কোনও পরীক্ষার কেস নেই তাই আমি কেবল এটি দেখেছি!
অপরাধমূলকভাবে

উভয়কেই করা যায় যে ছোটখাটো পরিবর্তনটি ব্যবহার করা হয় pryr::f, যা উভয় ক্ষেত্রেই কাজ করে। এটি আর্গুমেন্টগুলি সঠিকভাবে সনাক্ত করতে পারে কিনা তা পুরোপুরি কিছুটা হিট হয়েছে বা মিস হয়েছে তবে এটি এই দুটি ফাংশনটি পেরেক বলে মনে হচ্ছে। যেমন pryr::f(x%in%c(y--1:1*5,5-y)) অনলাইন চেষ্টা করে দেখুন! । আপনাকে যথাক্রমে 36 এবং 29 বাইটে পেয়ে যায়।
অপরাধমূলকভাবে

5

পাইথন 2 , 29 31 বাইট

lambda a,b:a+b==5or`a-b`in"0-5"

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

যেহেতু আমি প্রথমবারের সাথে টাস্কটি সাবধানতার সাথে পড়তে পারি নি, এটি ঠিক করার জন্য, আমাকে সম্পূর্ণ ভিন্ন পদ্ধতির সাথে আসতে হয়েছিল, যা দুর্ভাগ্যক্রমে সংক্ষিপ্ত নয়।


5

8086 মেশিন কোড, 22 20 বাইট

8bd0 2bc3 740e 7902 f7d8 3d0500 7405 03d3 83fa05

Ungolfed:

ESD  MACRO
    LOCAL SUB_POS, DONE
    MOV  DX, AX     ; Save AX to DX
    SUB  AX, BX     ; AX = AX - BX
    JZ   DONE       ; if 0, then they are equal, ZF=1
    JNS  SUB_POS    ; if positive, go to SUB_POS
    NEG  AX         ; otherwise negate the result
SUB_POS:
    CMP  AX, 5      ; if result is 5, ZF=1
    JZ   DONE
    ADD  DX, BX     ; DX = DX + BX
    CMP  DX, 5      ; if 5, ZF=1
DONE:
    ENDM

AX এবং BX এ সংখ্যার ইনপুট দেয় এবং ফলাফলটি সত্য হলে জিরো পতাকা (জেডএফ = 1) প্রদান করে। যদি ইচ্ছা হয় তবে নিম্নলিখিত শর্তগুলির সাথে কোন শর্তটি সত্য ছিল তাও আপনি নির্ধারণ করতে পারেন:

  • জেডএফ = 1 এবং ডিএক্স = 5; যোগফল 5
  • জেডএফ = 1 এবং এএক্স = 5; ডিফ 5
  • জেডএফ = 1 এবং এএক্স = 0; সমান
  • জেডএফ = 0; ফল মিথ্যা

যদি সংখ্যাগুলির মধ্যে পার্থক্য 0 হয়, আমরা জানি তারা সমান। অন্যথায় যদি ফলাফলটি নেতিবাচক হয় তবে প্রথমে এটিকে প্রত্যাখ্যান করুন এবং তারপরে 5 টি পরীক্ষা করুন যদি এখনও সত্য না হয় তবে 5 যোগ করে পরীক্ষা করে দেখুন।

নমুনা পিসি ডস পরীক্ষা প্রোগ্রাম। এটি এখানে ডাউনলোড করুন ( ESD.COM )।

START:
    CALL INDEC      ; input first number into AX
    MOV  BX, AX     ; move to BX
    CALL INDEC      ; input second number into BX
    ESD             ; run "Equal, sum or difference" routine
    JZ   TRUE       ; if ZF=1, result is true
FALSE:
    MOV  DX, OFFSET FALSY   ; load Falsy string
    JMP  DONE
TRUE:
    MOV  DX, OFFSET TRUTHY  ; load Truthy string
DONE:
    MOV  AH, 9      ; DOS display string
    INT  21H        ; execute
    MOV  AX, 4C00H  ; DOS terminate
    INT  21H        ; execute

TRUTHY   DB 'Truthy$'
FALSY    DB 'Falsy$'

INCLUDE INDEC.ASM   ; generic decimal input prompt routine

পরীক্ষা প্রোগ্রামের আউটপুট:

A>ESD.COM
: 4
: 1
Truthy

A>ESD.COM
: 10
: 10
Truthy

A>ESD.COM
: 1
: 3
Falsy

A>ESD.COM
: 6
: 2
Falsy

A>ESD.COM
: 1
: 6
Truthy

A>ESD.COM
: -256
: -251
Truthy

A>ESD.COM
: 6
: 1
Truthy

A>ESD.COM
: 9999999999
: 9999999994
Truthy


4

পাইথন 2, 38 বাইট

-২ বাইটস @ ডিজেএমসিএমহেমকে ধন্যবাদ

lambda a,b:a+b==5or abs(a-b)==5or a==b

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


তোমার Tio আসলে 42 বাইট কিন্তু আপনি মধ্যে শূণ্যস্থান মুছে ফেলার মাধ্যমে এটা ঠিক করতে পারবো 5s এবং orগুলি
ElPedro

3
আসলে, Tio লিংক হতে পারে 38 বাইট
DJMcMayhem

@ এলপেড্রো নিজেই ফাংশনটি 40 বাইট ছিল তবে আমি এটিকে কল করতে সক্ষম হতে f = ব্যবহার করেছি
ফেব্রুটিক

1
@ ডিজেএমসিএমহেম কারণ প্রশ্ন প্রশ্নকর্তা তাদের উদাহরণ জন্য ব্যবহৃত পাইথন আমি এটা করেনি
fənɛtɪk



4

পাওয়ারশেল , 48 44 40 বাইট

param($a,$b)$b-in($a-5),(5-$a),(5+$a),$a

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

ইনপুট নেয় $aএবং $b। চেক যদি $bহয় -inগ্রুপ ( $a-5, 5-$a 5+$a, অথবা $a), যা চেক সব সম্ভাব্য সমাহার $a, $bএবং 5

-4 বাইট মজির ধন্যবাদ।
-4 বাইট কে কে গ্লাসিয়ারকে ধন্যবাদ।


($a-$b)হয় -$x:)
মজজি

@ মমজি ওও, শুভ কল
অ্যাডমবর্কবার্ক

আপনি যদি স্যুইচ করেন 5এবং $bআশেপাশে একটি দম্পতি বাইট কেটে ফেলতে পারেন (অর্থাত্ param($a,$b)$b-in($a-5),(5-$a),($a+5),$a) এখানে চেষ্টা করে দেখুন
গ্লাসিয়ার

1
@ কেগ্লাসিয়ার চমৎকার পরামর্শ। কমান্ড-লাইন ইনপুট নেওয়ার সময় এটি যথাযথভাবে কাস্ট $a+5করার 5+$aজন্য আমাকে অদলবদল করতে হবে, তবে অন্যথায় দুর্দান্ত। ধন্যবাদ!
অ্যাডমবর্কবার্ক

4

পাস্কাল (এফপিসি) ,26 70 বাইট

সম্পাদনা: + ইনপুট ভেরিয়েবল।

Procedure z(a,b:integer);begin Writeln((abs(a-b)in[0,5])or(a+b=5))end;

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


(abs(a-b)in[0,5])or(a+b=5)

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

আমি আশা করি আমার উত্তর কোড-গল্ফের সমস্ত নিয়ম অনুসারে রয়েছে। যাইহোক এটি মজা ছিল।


2
হ্যালো, এবং পিপিসিজিতে আপনাকে স্বাগতম! সাধারণত, আপনাকে ইনপুট নিতে হবে, ধরে নেওয়ার পরিবর্তে এটি ইতিমধ্যে ভেরিয়েবলের মধ্যে রয়েছে। আমি পাস্কেলকে চিনি না, তবে আমি মনে করি এটি কোডটি করছে।
ননতিনি এখানে

হ্যালো, নো ইনি এখানে এবং মন্তব্যের জন্য আপনাকে ধন্যবাদ। এটিও উদ্বেগজনক হতে পারে - আমি ভেরিয়েবলগুলির সূচনাটি অন্তর্ভুক্ত করব? উদাহরণস্বরূপ জাভা এর মতো আরও বেশ কয়েকটি সমাধানের দিকে তাকানো, যেখানে প্যারামিটারগুলির সাথে ফাংশন সংজ্ঞাটি সমাধানের মোট দৈর্ঘ্য থেকে বাদ দেওয়া হয়েছিল, আমি রিডলনকে অন্তর্ভুক্ত না করার সিদ্ধান্ত নিয়েছি।
ডেসি স্টোভা

ঠিক আছে। পিপিসিজিতে আপনাকে স্বাগতম!
ননতিনি এখানে

জাভা জমাটি একটি বেনাম ল্যাম্বদা যা দুটি পরামিতি নেয়। এটি পূর্বনির্ধারিত ভেরিয়েবলগুলি ব্যবহার করে বলে মনে হচ্ছে যা ইনপুটটির কোনও বৈধ পদ্ধতি নয়।
জো কিং

1
কোনও সমস্যা নেই, আমি আমার জমাটি পরিবর্তন করব।
ডেসি স্টোয়েভা

3

সি # (.নেট কোর) , 43 , 48 , 47 , 33 বাইট

সম্পাদনা:% ব্যবহারের চেষ্টা করা হয়েছে এবং কীভাবে% কীভাবে দৃশ্যত ভুলে গেছেন। আয়নুল্ডকে এটি নির্দেশ করার জন্য ধন্যবাদ!

EDIT2: অ্যাডমবর্কবর্ক -1 বাইট গল্ফ সহ বন্ধনীগুলি পুনর্বিন্যাসের সাথে রিটার্নের পাশে বসতে যাতে অতিরিক্ত কোনও জায়গার প্রয়োজন হয় না!

সম্পাদনা 3: ডানা ধন্যবাদ -১৪ বাইট গল্ফের জন্য এক-লাইন রিটার্ন শর্টকাটের জন্য এবং ফাংশনটি করিয়ে দেওয়ার জন্য (টিআইওর সাথে সংযোগের জন্য অজ্ঞতার প্রতিমূর্তি)।

সি # (.নেট কোর) , 33 বাইট

a=>b=>a==b|a+b==5|(a-b)*(a-b)==25

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


বাঃ। সিস্টেম.মথ এড়ানোর চেষ্টা করা হচ্ছে। এটি ফিরে! এটি উল্লেখ করার জন্য ধন্যবাদ: ডি
ডস্ট্রোইগো

1
আপনি এটি ডানার টিপস প্রয়োগ করে 33 বাইটে নামাতে পারেন
মূর্ত প্রতীক


3

স্কালা, 43 বাইট

def f(a:Int,b:Int)=a+b==5|(a-b).abs==5|a==b

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


না এটা সম্ভব গলফ হয় ||করতে |? আমি জানি এটি জাভা, সি #, পাইথন বা জাভাস্ক্রিপ্টে সম্ভব, তবে স্কালা সম্পর্কে নিশ্চিত নয়।
কেভিন ক্রুইজসেন

সত্যি বলতে হ্যা! ধন্যবাদ
জাভিয়র গুইহট

3

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

-১ বাইট ধন্যবাদ গ্রিমিকে

{$^a-$^b==5|0|-5|5-2*$b}

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

এটি যেকোন জংশনটি ব্যবহার করে তবে প্রযুক্তিগতভাবে ^এটি কাজ করতে পারে।

ব্যাখ্যা:

{                      }  # Anonymous code block
 $^a-$^b==                # Is the difference equal to
           | |  |        # Any of
          0 
            5
              -5
                 5-2*$b

1
-1 বাইট সাথে{$^a-$^b==5|0|-5|5-2*$b}
গ্রিমি

2

সি (জিসিসি) , 41 34 বাইট

f(a,b){a=5==abs(a-b)|a+b==5|a==b;}

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


1
fফিরে আসে কেন a? শুধু কিছু অপরিবর্তিত আচরণ?
টাইলো

@ টিইলো হ্যাঁ, এটি বাস্তবায়ন নির্দিষ্ট specific সুতরাং ঘটে প্রথম প্যারামিটারটি ফেরত মানের হিসাবে একই নিবন্ধে সংরক্ষণ করা হয়।
ক্লাব্ল্যাঙ্ক


@ লগার্ন f (6,1) এর জন্য কাজ করে না
ক্লাব্ল্যাঙ্ক

@ceilingcat f (6,1) এর জন্য কাজ করে না
ক্লাব্ল্যাঙ্ক

2

05 এ বি 1 ই , 13 12 বাইট

ÐO5Qs`α5QrËO

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

একটি বাইট সংরক্ষণ করে পূর্ণসংখ্যার তালিকা হিসাবে ইনপুট নেয়। ধন্যবাদ @ উইসোয়া!

বিকল্প 12 বাইট উত্তর

Q¹²α5Q¹²+5QO

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

এটি পৃথক লাইনে ইনপুট নেয়।


1
যেহেতু এটি খুব স্পষ্টভাবে সুনির্দিষ্টভাবে নির্দিষ্ট করা হয়নি, তাই আপনি কি অনুমান করতে পারবেন না যে ইনপুটটি পূর্ণসংখ্যার একটি তালিকা, যাতে প্রাথমিকটি মুছে ফেলা হয় |?
উইসোয়া

@ উইসাউউ ভাল পয়েন্ট, আমি আমার উত্তর আপডেট করেছি। ধন্যবাদ!
কাউয়াবাংহোল

আমি পাওয়া 11 বিকল্প বাইট: OI`αª5¢IË~Ā। ইনপুট হল পূর্ণসংখ্যার একটি তালিকা।
উইসোয়া


1
@ ম্যাজিক অ্যাক্টোপাস ইউরান আমি বিধিগুলি ঠিক কী তা নিশ্চিত নই তবে আমি মনে করি আপনার নিজের উত্তর জমা দেওয়ার জন্য আমার সমাধানটি আমার থেকে যথেষ্ট আলাদা, না? এছাড়াও, সম্পর্কিত নয় তবে আমি আপনার ব্যবহারকারীর নামটি এই সাইটে দীর্ঘ সময় দেখেছি তবে কেবল এটি টাইপ করার পরে আমি বুঝতে পেরেছিলাম যে এটি "উম" নয়, "উম" নয় :)
কাউয়াবাংহোল

2

05 এ বি 1 ই , 10 বাইট

OIÆ‚Ä50SåZ

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


O           # Sum the input.
 IÆ         # Reduced subtraction of the input.
   ‚        # Wrap [sum,reduced_subtraction]
    Ä       # abs[sum,red_sub]
     50S    # [5,0]
        å   # [5,0] in abs[sum,red_sub]?
         Z  # Max of result, 0 is false, 1 is true.

কেবল স্ট্যাক-অপারেশন ব্যবহার করে এটি করার চেষ্টা করা হয়েছিল, তবে এটি দীর্ঘ ছিল।


1
এটি দুর্ভাগ্যক্রমে সত্য ফিরে আসবে যদি যোগফলের জন্য 0যেমন হয়[5, -5]
এমিগিনা

1
আপনার অন্য 10-বাইট সমাধান যা আপনি মন্তব্য ( OIÆÄ‚5QIËM) হিসাবে রেখে গেছেন তা সঠিক [5,-5]
কেভিন ক্রুইজসেন

আরও একটি 10 ​​বাইট সমাধান যা আমি সামনে এনেছিলাম OsÆÄ‚5åsË~। আপনার কাছে প্রায় অভিন্ন বলে মনে হচ্ছে। এটি অনলাইন চেষ্টা করুন!
উইসোয়া

2

রুবি , 34 বাইট

->(a,b){[a+5,a-5,5-a,a].include?b}

অনলাইন এভাল - ধন্যবাদ @ এএসসিআইআই-কেবল


তারা কি সমান কিনা তা আপনি চেক করেন ...
ASCII- কেবল

ওফস, সেই চেকটি যুক্ত করতে ভুলে গেছি। ধন্যবাদ @ এএসসিআইআই-কেবল ভুলটি নির্দেশ করার জন্য।
যতীন ধনখার

1
যদি আপনি এর প্রতি সংযোগ আছে পারে আমি সুন্দর হতে চাই এই
হওয়া ASCII শুধুমাত্র

এই পারে বৈধ হতে? যদিও পুরোপুরি নিশ্চিত নয়, আপনি অন্য কারও সাথে চেক করতে চাইতে পারেন
এএসসিআইআই-

এটি কাজ করবে তবে .nil?প্রয়োজনীয় ফর্ম্যাটে আউটপুট দেওয়ার জন্য এটির চেক দরকার। ->(a,b){[a+5,a-5,5-a,a].index(b).nil?}, এটি বর্তমানের চেয়ে দীর্ঘ longer
যতীন ধনখর



1

ব্যাচ, 81 বাইট

@set/as=%1+%2,d=%1-%2
@if %d% neq 0 if %d:-=% neq 5 if %s% neq 5 exit/b
@echo 1

কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয় এবং সাফল্যের 1 আউটপুট দেয়, ব্যর্থতায় কিছুই হয় না। ব্যাচ সহজেই বিভাজন করতে পারে না তাই আমি ডি মরগানের আইনগুলিকে একত্রে রূপান্তরিত করতে ব্যবহার করি।



1

জাপট, 13 12 বাইট

x ¥5|50ìøUra

এটি ব্যবহার করে দেখুন বা সমস্ত পরীক্ষার কেস চালান

x ¥5|50ìøUra
                 :Implicit input of array U
x                :Reduce by addition
  ¥5             :Equal to 5?
    |            :Bitwise OR
     50ì         :Split 50 to an array of digits
        ø        :Contains?
         Ur      :  Reduce U
           a     :    By absolute difference

ব্যর্থ [-5,5](মিথ্যা হওয়া উচিত)
কেভিন ক্রুইজসেন

ধন্যবাদ, @ কেভিন ক্রুজসেন। পূর্ববর্তী সংস্করণে ফিরে রোলড।
শেগি


1

ব্র্যাচল্যাগ , 8 বাইট

=|+5|-ȧ5

দুটি সংখ্যার একটি তালিকা হিসাবে ইনপুট নেয় (sণাত্মকগুলির _জন্য ব্যবহার করুন )। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

চমত্কার একটি সরাসরি অনুবাদ অনুবাদ:

=          The two numbers are equal
 |         or
  +        The sum of the two numbers
   5       is 5
    |      or
     -     The difference of the two numbers
      ȧ    absolute value
       5   is 5

0

রেটিনা 0.8.2 , 82 বাইট

\d+
$*
^(-?1*) \1$|^(-?1*)1{5} -?\2$|^-?(-?1*) (\3)1{5}$|^-?(1 ?){5}$|^(1 ?-?){5}$

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা: প্রথম দুটি লাইন ইনপুটগুলিকে অবিচ্ছিন্ন রূপান্তরিত করে। চূড়ান্ত লাইনটি তখন অনুমোদিত যেকোন ম্যাচের জন্য পরীক্ষা করে:

^(-?1*) \1$                              x==y
^(-?1*)1{5} -?\2$   x>=0 y>=0 x=5+y i.e. x-y=5
                    x>=0 y<=0 x=5-y i.e. x+y=5
                    x<=0 y<=0 x=y-5 i.e. y-x=5
^-?(-?1*) (\3)1{5}$ x<=0 y<=0 y=x-5 i.e. x-y=5
                    x<=0 y>=0 y=5-x i.e. x+y=5
                    x>=0 y>=0 y=5+x i.e. y-x=5
^-?(1 ?){5}$        x>=0 y>=0 y=5-x i.e. x+y=5
                    x<=0 y>=0 y=5+x i.e. y-x=5
^(1 ?-?){5}$        x>=0 y>=0 x=5-y i.e. x+y=5
                    x>=0 y<=0 x=5+y i.e. x-y=5

আমরা পেয়েছি সর্বশেষ কলাম দ্বারা চালিত:

x==y            ^(-?1*) \1$
x+y=5 x>=0 y>=0 ^-?(1 ?){5}$
      x>=0 y>=0 ^(1 ?-?){5}$
      x>=0 y<=0 ^(-?1*)1{5} -?\2$
      x<=0 y>=0 ^-?(-?1*) (\3)1{5}$
      x<=0 y<=0 (impossible)       
x-y=5 x>=0 y>=0 ^(-?1*)1{5} -?\2$
      x>=0 y<=0 ^(1 ?-?){5}$
      x<=0 y>=0 (impossible)
      x<=0 y<=0 ^-?(-?1*) (\3)1{5}$
y-x=5 x>=0 y>=0 ^-?(-?1*) (\3)1{5}$
      x>=0 y<=0 (impossible)
      x<=0 y>=0 ^-?(1 ?){5}$
      x<=0 y<=0 ^(-?1*)1{5} -?\2$
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.