ความท้าทายนี้มาถึงคุณโดยแรงบันดาลใจ (และน่าเศร้า) จริง เมื่อเร็ว ๆ นี้แถวหมายเลขบนแป้นพิมพ์ของฉันเป็นระยะ ๆ ปุ่มใช้1-9
งานได้บางครั้ง - แต่บางครั้งก็ไม่มีผล ในฐานะโปรแกรมเมอร์ตัวยงนี่มันช่างน่ากลัว! (ดูที่เครื่องหมายอัศเจรีย์นั่นคือวิธีที่คุณรู้ว่าพวกเขากำลังทำงานอยู่ในขณะนี้) ไม่เพียง แต่ฉันมักจะต้องการตัวเลขตัวเอง แต่สัญลักษณ์!@#$%^&*(
มีประสิทธิภาพอย่างสมบูรณ์ครึ่งเวลาเช่นกัน! ในฐานะที่เป็นโปรแกรมเมอร์ C แทนที่จะใช้เวลาในการยุ่งกับการเขียนโค้ดเพื่อแก้ไขแล็ปท็อปของฉันฉันจึงสนใจที่จะแก้ไขปัญหามากกว่า ในช่วงไม่กี่สัปดาห์ที่ผ่านมาช้าตัวเลขตัวอักษรทั้งหมดในรหัสของฉันถูกแทนที่ด้วยเลขฐานสิบหกเพื่อที่ฉันจะได้ไม่ต้องไปหาตัวเลขเพื่อคัดลอกและวาง 1-9
อย่างไรก็ตามตัวเลขบางไม่สะดวกในการพิมพ์โดยไม่ต้องคีย์ ยกตัวอย่างเช่นจำนวน1
ไม่สามารถเขียนได้ดังนั้นเพียงแค่ในเลขฐานสิบหกและฉันได้ resorted เพื่อแทนที่ในรหัสของฉันด้วย1
0xF - 0xE
คีย์เท่านั้นที่ได้รับผลกระทบ1-9
ดังนั้นฉันรักษาการใช้งานเต็มรูปแบบของสัญลักษณ์เช่น+
, และ-
/
อย่างไรก็ตามฉันไม่สามารถใช้การคูณหรือวงเล็บเช่น*
และ(
มักจะขาด สิ่งนี้นำไปสู่ความท้าทายของคุณ
อินพุต
จำนวนเต็มn
ถึง stdin หรือเทียบเท่าภาษาของคุณ หากคุณต้องการจำนวนเต็มอาจนำหน้าหรือตามด้วยบรรทัดใหม่หรืออักขระช่องว่างอื่น หรือคุณอาจรับอินพุตผ่านอาร์กิวเมนต์บรรทัดคำสั่ง
โปรแกรมของคุณควรตอบสนองต่อการป้อนข้อมูลเชิงลบได้อย่างถูกต้องและสามารถจัดการกับจำนวนเต็มที่มีลายเซ็นอย่างน้อย 32 บิต
เอาท์พุต
โปรแกรมของคุณควรส่งออกในรูปแบบที่สังเกตได้บางวิธีที่สั้นที่สุด (ในอักขระที่ไม่ใช่ช่องว่าง) ที่เป็นไปได้ในการเขียนตัวเลขn
เป็นผลรวมความแตกต่างหรือการหารของค่าเลขฐานสิบหกอย่างน้อยหนึ่งค่า มีมากกว่าหนึ่งวิธีในการแก้ไขปัญหานี้และคุณไม่ต้องการให้คุณใช้เอาต์พุตที่มีความยาวเท่ากันมากกว่าวิธีอื่น
เอาท์พุทควรจะอยู่ในรูปแบบA % A % A...
ที่A
เป็นค่าฐานสิบหกต่อไปนี้0x
มีตัวเลขเท่านั้นA-F a-f
และเป็นหนึ่งของสัญลักษณ์%
-+/
อนุญาต/
อธิบายการหารจำนวนเต็มไม่ใช่ทศนิยม
(โปรดทราบว่าผลลัพธ์ของคุณควรส่งผลn
เมื่อประเมินหน่วยงานก่อนจากซ้ายไปขวาจากนั้นเพิ่มและลบออกจากซ้ายไปขวาตามแบบแผน)
กรณีทดสอบ
อินพุตเอาต์พุต
1
0xF - 0xE
(หรือ0xF-0xE
หรือ0xB-0xA
หรือ0xd - 0xc
หรือ0xF/0xF
)15
0xF
255
0xFF
30
0xF + 0xF
เกณฑ์การให้คะแนนและกฎ
นี่คือรหัสกอล์ฟ คะแนนเบื้องต้นของคุณคือจำนวนไบต์ในไฟล์ต้นฉบับของคุณ
คุณไม่สามารถใช้ตัวเลขใด ๆ1-9
ในแหล่งที่มาของคุณ
คุณอาจใช้สัญลักษณ์!@#$%^&*(
ในแหล่งที่มาของคุณ แต่แต่ละคนจะมีค่าปรับที่ +20 ถึงคะแนนของคุณ
โปรแกรมของคุณอาจถูกแทนที่ด้วยฟังก์ชันที่ใช้n
เป็นอาร์กิวเมนต์ตราบใดที่ฟังก์ชันนั้นสร้างเอาต์พุตบางรูปแบบที่มนุษย์สามารถอ่านได้ ค่าส่งคืนของฟังก์ชันของคุณจะไม่นับเป็นเอาท์พุท
ไม่อนุญาตช่องโหว่มาตรฐาน
คะแนนต่ำสุดชนะ! โชคดี!
ฉันทำบางสิ่งผิดพลาดกับการจัดรูปแบบ / ตั้งคำถาม / ความชัดเจนที่ชาญฉลาดหรือไม่ แจ้งให้เราทราบ! นี่คือการส่งครั้งแรกของฉันในเว็บไซต์นี้!