เท่ากับผลรวมหรือความแตกต่าง!


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

สั้นที่สุดที่ฉันจะได้รับใน python2 มีความยาว 56 ตัวอักษร:

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

-9 ขอบคุณ @ElPedro ใช้อินพุตในรูปแบบ x, y:

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

9
ยินดีต้อนรับสู่ PPCG! นี่เป็นความท้าทายครั้งแรกที่ดี - มีการกำหนดความท้าทายอย่างชัดเจนมีกรณีทดสอบมากมายและใช้ I / O เริ่มต้นของเรา! หากคุณติดอยู่พักหนึ่งและคิดถึงความท้าทายที่น่าสนใจฉันขอแนะนำให้ใช้The Sandboxเพื่อรับข้อเสนอแนะก่อนโพสต์พวกเขาในเว็บไซต์นี้ ฉันหวังว่าคุณจะสนุกกับเวลาที่คุณใช้ที่นี่!
จูเซปเป้

คำตอบ:


22

Python 2 , 30 ไบต์

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

ลองออนไลน์!

บันทึกหนึ่งไบต์โดย Arnauld

สามไบต์บันทึกโดย alephalpha


นี่เป็นเรื่องที่น่าประหลาดใจมากขอบคุณ
Vikrant Biswas

สามารถทำเช่นเดียวกันใน Octave / MATLAB ใน 29 ไบต์ ( ลองออนไลน์! )
ทอมคาร์เพนเตอร์



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

J , 12 11 ไบต์

บันทึก 1 ไบต์ขอบคุณAdám

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.
อดัม

@ Adámเป็นไงบ้าง? วิธีที่สั้นที่สุดที่ผมได้กับเป็นe. =+.5 e.|@-,+บางทีคุณอาจลืม5e.โทเค็นที่ไม่ถูกต้องใน J
Conor O'Brien

1
ตั้งแต่จำนวนเต็มสองจำนวนไม่พร้อมกันรวมถึง 5 และจะเท่ากับคุณสามารถใช้+แทน+.
อดัม

@ Adámอ่าเข้าใจแล้วขอบคุณ
Conor O'Brien

5

R , 40 ไบต์ (หรือ 34)

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

ลองออนไลน์!

สำหรับผู้ใช้ที่ไม่ใช่ R:

  • -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)
MickyT

สามารถลดลงถึง 30 ไบต์โดยการย้ายการลบ: function(x,y)(x-y)%in%(-1:1*5)และวางเพิ่มเติมถึง 24 ไบต์โดยการวางเครื่องหมายฟังก์ชันลงในscan()อินพุต: diff(scan())%in%(-1:1*5) ลองออนไลน์! . ยังคงเป็นวิธีการเดียวกันมาก
อาชญากรคนร้าย

1
@CriminallyVulgar บัญชีนั้นมีผลรวมเป็น 5 หรือไม่?
ArBo

@ArBo Hah พลาดไปในสเป็คและไม่มีกรณีทดสอบใน TIO ดังนั้นฉันเพียงแค่คัดสรรมัน!
อาชญากรคนร้าย

การเปลี่ยนแปลงเล็กน้อยที่สามารถทำได้ทั้งสองอย่างคือการใช้งานpryr::fซึ่งเกิดขึ้นกับการทำงานในทั้งสองกรณี ไม่ว่ามันจะสามารถตรวจจับข้อโต้แย้งได้อย่างสมบูรณ์นั้นก็ค่อนข้างที่จะตีหรือพลาดไปบ้าง แต่ดูเหมือนว่าจะตอกย้ำทั้งสองฟังก์ชั่น เช่นpryr::f(x%in%c(y--1:1*5,5-y)) ลองออนไลน์! . รับคุณเป็น 36 และ 29 ไบต์ตามลำดับ
อาชญากรคนร้าย

5

Python 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 แล้วส่งกลับค่า Zero Flag (ZF = 1) หากผลลัพธ์เป็นจริง หากต้องการคุณสามารถกำหนดเงื่อนไขที่เป็นจริงด้วยสิ่งต่อไปนี้:

  • ZF = 1 และ DX = 5; ผลรวมคือ 5
  • ZF = 1 และ AX = 5; diff คือ 5
  • ZF = 1 และ AX = 0; เท่ากัน
  • ZF = 0; ผลลัพธ์เป็นเท็จ

หากความแตกต่างระหว่างตัวเลขเป็น 0 เรารู้ว่ามันเท่ากัน มิฉะนั้นถ้าผลลัพธ์เป็นลบให้ลบมันก่อนแล้วตรวจสอบ 5 หากยังไม่เป็นจริงให้เพิ่มและตรวจสอบ 5

ตัวอย่างโปรแกรมทดสอบ PC DOS ดาวน์โหลดได้ที่นี่ ( 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

Python 2, 38 ไบต์

-2 ไบต์ขอบคุณ @DjMcMayhem

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

ลองออนไลน์!


TIO ของคุณเป็นจริง 42 ไบต์ แต่คุณสามารถแก้ไขได้โดยการลบช่องว่างระหว่าง5s และors
ElPedro

3
ที่จริงแล้วลิงก์ TIO อาจมีขนาด 38 ไบต์
DJMcMayhem

@ElPedro ฟังก์ชั่นของตัวเองคือ 40 ไบต์ แต่ฉันใช้ f = เพื่อที่จะสามารถเรียกมันได้
fəˈnɛtɪk

1
@DJMcMayhem โดยปกติฉันไม่ได้เล่นกอล์ฟในหลาม ฉันเพิ่งทำไปเพราะผู้ถามคำถามใช้ไพ ธ อนเป็นตัวอย่าง
f --nɛtɪk



4

PowerShell , 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, และ$b5

-4 ไบต์ขอบคุณที่ทำให้เฉื่อยชา
-4 ไบต์ขอขอบคุณ KGlasier


($a-$b)คือ-$x:)
mazzy

@ mazzy Ooo โทรดีมาก
AdmBorkBork

หากคุณสลับไปมา5และ$bรอบ ๆ คุณสามารถตัดไบต์คู่ (เช่นparam($a,$b)$b-in($a-5),(5-$a),($a+5),$a) ลองใช้ที่นี่
KGlasier

1
@KGlasier คำแนะนำที่ดีเยี่ยม ฉันจำเป็นต้องสลับ$a+5เพื่อ5+$aให้ได้รับการส่งอย่างเหมาะสมเมื่อรับอินพุตบรรทัดคำสั่ง แต่ก็ยอดเยี่ยม ขอบคุณ!
AdmBorkBork

4

ปาสคาล (FPC) ,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
สวัสดีและยินดีต้อนรับสู่ PPCG! โดยปกติคุณจะต้องป้อนข้อมูลแทนที่จะคิดว่ามันมีอยู่แล้วในตัวแปร ฉันไม่รู้จัก Pascal แต่ฉันคิดว่านั่นเป็นสิ่งที่รหัสนี้กำลังทำอยู่
NoOne อยู่

สวัสดี NoOne อยู่ที่นี่และขอบคุณสำหรับคำพูด มันอาจเกี่ยวข้องด้วย - ฉันจะต้องรวมการเริ่มต้นของตัวแปร เมื่อดูโซลูชันอื่น ๆ หลายอย่างเช่น Java เช่นที่การนิยามฟังก์ชันด้วยพารามิเตอร์ถูกแยกออกจากความยาวทั้งหมดของโซลูชันฉันตัดสินใจที่จะไม่รวม ReadLn
Dessy Stoeva

Alright ยินดีต้อนรับสู่ PPCG!
NoOne

การส่ง Java เป็นแลมบ์ดานิรนามซึ่งใช้พารามิเตอร์สองตัว ดูเหมือนว่าจะใช้ตัวแปรที่กำหนดไว้ล่วงหน้าซึ่งไม่ใช่วิธีการอินพุตที่ถูกต้อง
Jo King

1
ไม่มีปัญหาฉันจะเปลี่ยนการส่งของฉัน
Dessy Stoeva

3

C # (. NET Core) , 43 , 48 , 47 , 33 ไบต์

แก้ไข: พยายามใช้% และลืมวิธีไปยัง% ขอบคุณ Arnauld ที่ชี้ให้เห็น!

EDIT2: AdmBorkBork กับ -1 ไบต์กอล์ฟจัดเรียงวงเล็บให้นั่งถัดจากการกลับมาดังนั้นไม่ต้องการพื้นที่เพิ่มเติม!

EDIT3: ขอบคุณ dana สำหรับ -14 byte golf สำหรับทางลัดหนึ่งบรรทัดย้อนกลับและปิดการใช้งานฟังก์ชั่น (Ty Embodiment of Ignorance สำหรับการเชื่อมโยงไปยัง TIO)

C # (. NET Core) 33 ไบต์

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

ลองออนไลน์!


Bah พยายามหลีกเลี่ยง System.Math กลับไปที่มัน! ขอบคุณสำหรับการชี้ให้เห็นว่า: D
Destroigo

1
คุณสามารถลดขนาดได้ถึง33 ไบต์โดยใช้เคล็ดลับของ Dana
ศูนย์รวมความไม่รู้

3

C (gcc) , 33 ไบต์

f(a,b){a=!(a+b-5&&(a-=b)/6|a%5);}

ลองออนไลน์!

ลองใช้วิธีที่ฉันไม่เห็นใครลองใช้ นิพจน์ที่ส่งคืนจะเท่ากับa+b==5||((-6<a-b||a-b<6)&&(a-b)%5==0)การแสดงออกผลตอบแทนเทียบเท่ากับ



3

สกาลา 43 ไบต์

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

ลองออนไลน์!


มันไม่ได้เป็นไปได้ที่จะกอล์ฟ||เพื่อ|? ฉันรู้ว่าเป็นไปได้ใน Java, C #, Python หรือ JavaScript แต่ไม่แน่ใจเกี่ยวกับ Scala
Kevin Cruijssen

ใช่จริง! ขอบคุณ
Xavier Guihot

3

Perl 6 , 24 ไบต์

-1 ไบต์ขอบคุณ Grimy

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

ลองออนไลน์!

สิ่งนี้ใช้ Any Junction แต่ในทางเทคนิคแล้ว ^สามารถใช้งานได้เช่นกัน

คำอธิบาย:

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

1
-1 byte กับ{$^a-$^b==5|0|-5|5-2*$b}
Grimmy

2

C (gcc) , 41 34 ไบต์

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

ลองออนไลน์!


1
ทำไมถึงfกลับมาa? แค่มีพฤติกรรมที่ไม่ได้กำหนด?
Tyilo

@Tyilo ใช่มันเป็นการใช้งานที่เฉพาะเจาะจง ดังนั้นจึงเกิดขึ้นพารามิเตอร์แรกจะถูกเก็บไว้ในการลงทะเบียนเช่นเดียวกับค่าตอบแทน
cleblanc


@Logern ใช้งานไม่ได้กับ f (6,1)
cleblanc

@ceilingcat ใช้งานไม่ได้กับ f (6,1)
cleblanc

2

05AB1E , 13 12 ไบต์

ÐO5Qs`α5QrËO

ลองออนไลน์!

รับอินพุตเป็นรายการของจำนวนเต็มบันทึกหนึ่งไบต์ ขอบคุณ @ Wisław!

ผลัด 12 ไบต์

Q¹²α5Q¹²+5QO

ลองออนไลน์!

อันนี้ใช้อินพุตในบรรทัดแยกกัน


1
เนื่องจากไม่ได้ระบุไว้อย่างชัดเจนคุณไม่สามารถถือว่าอินพุตเป็นรายการของจำนวนเต็มได้|หรือไม่
Wisław

@ Wisławดีมากฉันอัพเดตคำตอบของฉัน ขอบคุณ!
Cowabunghole

ผมพบว่า 11 OI`αª5¢IË~Āไบต์ทางเลือก: อินพุตคือรายการของจำนวนเต็ม
Wisław

1
OIÆÄ)5QIËMคือ 10
Magic Octopus Urn

1
@ MagicOctopusUrn ฉันไม่แน่ใจว่าสิ่งที่เป็นกฎ แต่ฉันคิดว่าวิธีการแก้ปัญหาของคุณแตกต่างจากของฉันพอที่จะส่งคำตอบของคุณเองไม่? นอกจากนี้ยังไม่เกี่ยวข้อง แต่ฉันเห็นชื่อผู้ใช้ของคุณในเว็บไซต์นี้เป็นเวลานาน แต่หลังจากพิมพ์ออกมาฉันรู้ว่ามันคือ "Urn" ไม่ใช่ "Um" :)
Cowabunghole

2

05AB1E , 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]
Emigna

1
วิธีการแก้ปัญหา 10 ไบต์อื่น ๆ ที่คุณซ้ายเป็นความคิดเห็น ( OIÆÄ‚5QIËM) [5,-5]เป็นที่ถูกต้องสำหรับ
Kevin Cruijssen

อีกวิธีที่ 10 byte OsÆÄ‚5åsË~ที่ฉันมาด้วยคือ เกือบเหมือนคุณ ลองออนไลน์!
Wisław

2

Ruby , 34 ไบต์

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

Online Eval - ขอบคุณ @ ASCII-Only


คุณตรวจสอบว่าพวกเขาเท่าเทียมกันหรือไม่ ...
ASCII- เท่านั้น

โอ๊ะลืมเพิ่มเช็คเข้าไป ขอบคุณ @ ASCII- เพียงเพื่อชี้ความผิดพลาด
Jatin Dhankhar

1
ฉันจะดีถ้าคุณสามารถเชื่อมโยงไปนี้
ASCII เท่านั้น

สิ่งนี้ อาจถูกต้อง? ไม่แน่ใจว่าสมบูรณ์คุณอาจต้องการตรวจสอบกับคนอื่น
ASCII เท่านั้น

สิ่งนี้จะใช้งานได้ แต่ต้องใช้การ.nil?ตรวจสอบเพื่อให้ผลลัพธ์ในรูปแบบที่ต้องการ ->(a,b){[a+5,a-5,5-a,a].index(b).nil?}นี่ยาวกว่าอันปัจจุบัน
Jatin Dhankhar



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

Japt 13 13ไบต์

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](ควรเป็นเท็จ)
Kevin Cruijssen

ขอบคุณ @KevinCruijssen ย้อนกลับเป็นเวอร์ชันก่อนหน้า
Shaggy


1

Brachylogขนาด 8 ไบต์

=|+5|-ȧ5

รับอินพุตเป็นรายการของตัวเลขสองตัว (ใช้_สำหรับค่าลบ) ลองออนไลน์!

คำอธิบาย

แปลสเป็คโดยตรงได้ค่อนข้างมาก:

=          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.