ท้าทาย:
เอาท์พุท 'จำนวนเต็มตัวเลข' ของหนึ่งในหกคณิตศาสตร์ต่อไปนี้ตารางตามการป้อนข้อมูล:
- นอกจากนี้ ( +
);
- การลบ ( -
);
- การคูณ ( *
);
- แผนก ( /
);
- การยกกำลัง ( ^
);
- การทำงานแบบโมดูโล ( %
)
กฎ:
- ฉันจะทำอะไรกำหนดเป็น 'จำนวนเต็มหลัก': ทุกผลมาจากการดำเนินการทางคณิตศาสตร์ซึ่งเป็นสิ่งหนึ่งต่อไปนี้:
0
,1
,2
,3
,4
,5
,6
,7
, ,8
9
ซึ่งหมายความว่าคุณจะแยกผลลัพธ์ทั้งหมด10
หรือสูงกว่าทุกผลลัพธ์ของ-1
หรือต่ำกว่าและผลลัพธ์ที่ไม่ใช่จำนวนเต็มทุกรายการ เราจะคำนวณผลลัพธ์ทางคณิตศาสตร์ได้อย่างไร: โดยใช้เลขตัวแรกสุดแล้วใช้ตัวถูกดำเนินการด้วยตัวเลขทางซ้ายคุณได้รับอนุญาตให้ทำเช่นนี้ในทางกลับกัน (เช่นy/x
แทนที่จะเป็นx/y
) ตราบใดที่คุณสอดคล้องกับเอาท์พุททั้งหก! (ดังนั้นคุณจะไม่ได้รับอนุญาตให้ใช้y-x
และx/y
ในคำตอบเดียวกัน) †- เราจะไม่เอาท์พุทอะไรเลยสำหรับหารด้วย 0 กรณีทดสอบ (สำหรับตารางการดำเนินการหารและโมดูโล)
0^0
เราจะไม่ได้อะไรเอาท์พุทสำหรับขอบกรณี
เอาท์พุท:
ดังนั้นเอาต์พุตต่อไปนี้ (รูปแบบตารางค่อนข้างยืดหยุ่น (ดูด้านล่าง): ดังนั้นบรรทัดจึงเป็นทางเลือกและเพิ่มส่วนใหญ่เพื่อให้สามารถอ่านได้ในกรณีทดสอบ)
ส่วนที่เพิ่มเข้าไป:
+ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 1 2 3 4 5 6 7 8 9
2 | 2 3 4 5 6 7 8 9
3 | 3 4 5 6 7 8 9
4 | 4 5 6 7 8 9
5 | 5 6 7 8 9
6 | 6 7 8 9
7 | 7 8 9
8 | 8 9
9 | 9
ลบ:
- | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 0 1 2 3 4 5 6 7 8
2 | 0 1 2 3 4 5 6 7
3 | 0 1 2 3 4 5 6
4 | 0 1 2 3 4 5
5 | 0 1 2 3 4
6 | 0 1 2 3
7 | 0 1 2
8 | 0 1
9 | 0
คูณ:
* | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 0 0 0 0 0 0 0 0 0
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 2 4 6 8
3 | 0 3 6 9
4 | 0 4 8
5 | 0 5
6 | 0 6
7 | 0 7
8 | 0 8
9 | 0 9
แผนก:
/ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 2 3 4
3 | 0 1 2 3
4 | 0 1 2
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
ยกกำลัง:
^ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 1 1 1 1 1 1 1 1 1
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 4 9
3 | 0 1 8
4 | 0 1
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
modulo:
% | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 1 0 1 0 1 0 1 0 1
3 | 0 1 2 0 1 2 0 1 2 0
4 | 0 1 2 3 0 1 2 3 0 1
5 | 0 1 2 3 4 0 1 2 3 4
6 | 0 1 2 3 4 5 0 1 2 3
7 | 0 1 2 3 4 5 6 0 1 2
8 | 0 1 2 3 4 5 6 7 0 1
9 | 0 1 2 3 4 5 6 7 8 0
กฏท้าทาย:
- การขึ้นบรรทัดใหม่และการเว้นวรรคต่อท้ายเป็นทางเลือก
- เส้นแนวนอนและแนวตั้งในกรณีทดสอบเป็นตัวเลือก ฉันเพิ่มเฉพาะเพื่อให้อ่านง่ายขึ้น †
- ช่องว่างระหว่างผลลัพธ์แต่ละรายการไม่ได้เป็นตัวเลือก
- สัญลักษณ์สำหรับการคำนวณอาจแตกต่างกันตราบใดที่มันชัดเจนว่ามันคืออะไร เช่น
×
หรือ·
แทน*
การคูณ÷
แทน/
การแบ่ง; ฯลฯ†
และตราบใดที่มันเป็นซิงเกิ้ลของตัวละครจึงขออภัย**
ธ - รูปแบบอินพุตมีความยืดหยุ่น คุณสามารถเลือกดัชนีจาก 0-5 หรือ 1-6 สำหรับหกตารางที่เกี่ยวข้อง คุณสามารถป้อนสัญลักษณ์ตัวถูกดำเนินการ; ฯลฯ (ไม่เหมือนกับสิ่งที่คุณแสดงในผลลัพธ์คุณได้รับอนุญาตให้ป้อนสตริงที่สมบูรณ์หรือ
**
ในกรณีของ Python)
เพียงให้แน่ใจว่าได้ระบุรูปแบบอินพุตที่คุณใช้ในคำตอบของคุณ!
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
†ตัวอย่างของเอาต์พุตที่ถูกต้องโดยไม่มีเส้นแนวนอนและแนวตั้ง÷
เป็นสัญลักษณ์และใช้y/x
แทนx/y
:
÷ 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
1 1
2 2 1
3 3 1
4 4 2 1
5 5 1
6 6 3 2 1
7 7 1
8 8 4 2 1
9 9 3 1
1
อื่น ๆ0
หรืออย่างอื่นเพื่อ0^0
หรือหาร / ดัดแปลง 0 แต่คุณจะต้องแก้ไข สำหรับคำถามที่สองของคุณ: ใช่แน่นอนตราบใดที่ตัวเลขยังคงอยู่ในคอลัมน์ / แถวเดียวกันคุณสามารถใช้ช่องว่างได้มากเท่าที่คุณต้องการ
y-x
, y/x
, y^x
และy%x
แทนx-y
, x/y
, x^y
และx%y
? อืมฉันคิดว่าคงไม่เป็นไร ฉันจะแก้ไขมันในคำตอบ; ตราบใดที่คุณมีความสอดคล้องกับทั้งหกคน (ไม่ใช่y-x
และx/y
ในคำตอบเดียวกัน)