เขียนโปรแกรมที่แสดงภาพส่วนที่ยาวด้วย ASCII art อินพุตประกอบด้วยจำนวนเต็มสองจำนวนตัวเศษและส่วนโดยใช้รูปแบบอินพุตที่คุณเลือก
ตัวอย่าง:
1234 ÷ 56:
22
----
56|1234
112
---
114
112
---
2
1002012 ÷ 12:
83501
-------
12|1002012
96
---
42
36
--
60
60
--
12
12
--
0 ÷ 35
0
-
35|0
กฎ:
- การใช้งานของผู้ประกอบการส่วนการเขียนโปรแกรมภาษาที่จะได้รับอนุญาต
- อนุญาตให้ใช้จำนวนเต็มขนาดใหญ่ได้
- เพื่อความมั่นคง:
- หากความฉลาดเป็นศูนย์ให้พิมพ์ศูนย์เดียวที่ท้ายกระดานดำน้ำ
- หากส่วนที่เหลือเป็นศูนย์อย่าพิมพ์
- อย่าพิมพ์เลขศูนย์นำหน้าบนตัวเลขใด ๆ
- ขึ้นบรรทัดใหม่มากเกินไปที่ส่วนท้ายและช่องว่างต่อท้ายไปทางขวาจะได้รับอนุญาต
- การแก้ปัญหาด้วยตัวละครน้อยที่สุดชนะ
ขีด จำกัด :
- 0 <= ตัวเศษ <= 10 72 - 1
- 1 <= ตัวหาร <= 9999999
นี่หมายความว่าเอาต์พุตจะไม่กว้างกว่า 80 คอลัมน์
ชุดทดสอบและการใช้งานตัวอย่าง:
คุณสามารถใช้long-division.c ( gist ) เพื่อทดสอบโปรแกรมของคุณ จริงๆแล้วมันเป็น bash script ที่มีโปรแกรม C อยู่ภายใน ปรับแต่งเพื่อเรียกใช้โปรแกรมของคุณในชุดทดสอบ ดูรหัส C ที่ด้านล่างเพื่อดูการใช้งานอ้างอิง โปรดแจ้งให้เราทราบหากมีปัญหาใด ๆ กับโปรแกรมตัวอย่างหรือชุดทดสอบ
$ ./long-division.c 10 7
1
--
7|10
7
--
3
$ ./long-division.c
PASS 1234 ÷ 56
PASS 1002012 ÷ 12
PASS 1 ÷ 1
--- snip ---
Score: 35 / 35
All tests passed!
แก้ไข:ตามคำขอฉันใส่อินพุตชุดทดสอบและเอาท์พุทที่คาดหวังลงในไฟล์ข้อความ ( ส่วนสำคัญ ) ตัวอย่างการใช้งาน (ทุบตี):
cat input | while read nd; do
./program $nd |
sed 's/\s*$//' | sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba'
done > output
diff -u expected output
คำสั่ง sed แปลก ๆ กรองบรรทัดใหม่และช่องว่างที่ต่อท้ายจากเอาต์พุตของโปรแกรม