ความท้าทายนี้มาถึงคุณโดยแรงบันดาลใจ (และน่าเศร้า) จริง เมื่อเร็ว ๆ นี้แถวหมายเลขบนแป้นพิมพ์ของฉันเป็นระยะ ๆ ปุ่มใช้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เมื่อประเมินหน่วยงานก่อนจากซ้ายไปขวาจากนั้นเพิ่มและลบออกจากซ้ายไปขวาตามแบบแผน)
กรณีทดสอบ
อินพุตเอาต์พุต
10xF - 0xE(หรือ0xF-0xEหรือ0xB-0xAหรือ0xd - 0xcหรือ0xF/0xF)150xF2550xFF300xF + 0xF
เกณฑ์การให้คะแนนและกฎ
นี่คือรหัสกอล์ฟ คะแนนเบื้องต้นของคุณคือจำนวนไบต์ในไฟล์ต้นฉบับของคุณ
คุณไม่สามารถใช้ตัวเลขใด ๆ1-9ในแหล่งที่มาของคุณ
คุณอาจใช้สัญลักษณ์!@#$%^&*(ในแหล่งที่มาของคุณ แต่แต่ละคนจะมีค่าปรับที่ +20 ถึงคะแนนของคุณ
โปรแกรมของคุณอาจถูกแทนที่ด้วยฟังก์ชันที่ใช้nเป็นอาร์กิวเมนต์ตราบใดที่ฟังก์ชันนั้นสร้างเอาต์พุตบางรูปแบบที่มนุษย์สามารถอ่านได้ ค่าส่งคืนของฟังก์ชันของคุณจะไม่นับเป็นเอาท์พุท
ไม่อนุญาตช่องโหว่มาตรฐาน
คะแนนต่ำสุดชนะ! โชคดี!
ฉันทำบางสิ่งผิดพลาดกับการจัดรูปแบบ / ตั้งคำถาม / ความชัดเจนที่ชาญฉลาดหรือไม่ แจ้งให้เราทราบ! นี่คือการส่งครั้งแรกของฉันในเว็บไซต์นี้!