ความท้าทายนี้คือการเขียนโปรแกรมหรือสคริปต์ซึ่งนับผลรวมของตัวเลขทั้งหมดภายในจำนวนเต็มตั้งแต่ 1 ถึงและรวมถึงจำนวนที่กำหนด
อินพุตหนึ่งจำนวนเต็มบวก เอาท์พุทผลรวมของตัวเลขในจำนวนนั้นและจำนวนที่น้อยกว่าทั้งหมด
ตัวอย่าง:
Input: 5
Integer Sequence: 1, 2, 3, 4, 5
Sum of Digits: 1 + 2 + 3 +4 + 5 = 15
Input: 12
Integer Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Sum of Digits: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 0 + 1 + 1 + 1 + 2 = 51
เพื่อความชัดเจนนี่เป็นการนับผลรวมของตัวเลขไม่ใช่จำนวนเต็ม สำหรับอินพุตหลักเดียวนี้จะเหมือนกัน อย่างไรก็ตามอินพุตที่มีขนาดใหญ่กว่า 10 จะมีการตอบสนองที่แตกต่างกัน นี่จะเป็นการตอบสนองที่ไม่ถูกต้อง :
Input: 12
Output: 78
อีกตัวอย่างหนึ่งเพื่อแสดงความแตกต่าง:
Input: 10
Integer Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Sum of Integers (INCORRECT RESPONSE): 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
Digit Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0
Sum of Digits (CORRECT RESPONSE): 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 0 = 46
กรณีทดสอบที่ใหญ่กว่า (การตอบสนองที่ถูกต้อง):
Input: 1000000
Output: 27000001
กฎและแนวทางปฏิบัติ:
- รหัสที่ส่งจะต้องเป็นโปรแกรมหรือสคริปต์ที่สมบูรณ์ - ไม่ใช่เพียงฟังก์ชั่น หากรหัสนั้นต้องมีการรวมการนำเข้าและอื่น ๆ จะต้องรวมอยู่ในรหัสที่โพสต์
- จำนวนจะต้องป้อนโดยผู้ใช้ - ไม่ตายตัว อาจได้รับการป้อนข้อมูลเป็นอาร์กิวเมนต์บรรทัดคำสั่งไฟล์ stdin หรือวิธีการอื่นใดที่ภาษาของคุณสามารถป้อนข้อมูลผู้ใช้
(2^64)-1
รหัสจะต้องสามารถจัดการกับปัจจัยการผลิตอย่างน้อยถึง- รหัสควรส่งออกผลรวมเท่านั้น
- โปรแกรมและสคริปต์ที่ส่งมาควรเป็นมิตรกับผู้ใช้และไม่สิ้นเปลืองทรัพยากรของคอมพิวเตอร์ (เช่น: พวกเขาไม่ควรประกาศอาร์เรย์ที่มีขนาดใหญ่อย่างเมามันเพื่อเก็บอักขระทุกตัว) ไม่มีโบนัสหรือการลงโทษที่เข้มงวดสำหรับเรื่องนี้ แต่โปรดเป็นโปรแกรมเมอร์ที่ดี
เกณฑ์การให้คะแนน:
กลไกการให้คะแนนหลักคือความยาวรหัส คะแนนต่ำกว่าดีกว่า โบนัสและบทลงโทษต่อไปนี้มีผลใช้งานด้วย:
- -25 โบนัสหากรหัสของคุณสามารถจัดการกับจำนวนบวกทั้งหมดเช่น:
1234567891234567891234564789087414984894900000000
- -50 โบนัสหากรหัสของคุณสามารถจัดการกับนิพจน์อย่างง่าย
55*96-12
ได้ เพื่อให้มีคุณสมบัติสำหรับโบนัสนี้รหัสควรจัดการ+ - / *
(เพิ่มเติม, ลบ, หาร, การคูณ) ตัวดำเนินการและบังคับใช้ลำดับของการดำเนินการ Division คือการหารจำนวนเต็มปกติ- ตัวอย่างที่กำหนด (
55*96-12
)5268
ประเมิน รหัสของคุณควรจะกลับเหมือนกันสำหรับทั้งของปัจจัยการผลิตเหล่านั้น -81393
คำตอบที่ถูกต้องคือ
- ตัวอย่างที่กำหนด (
- -10 โบนัสหากรหัสของคุณมีคุณสมบัติเพียงพอสำหรับ -50 โบนัสและสามารถจัดการ
^
ผู้ประกอบการ (เลขยกกำลัง) - -100 โบนัสหากรหัสของคุณมีสิทธิ์ได้รับ -50 โบนัสและไม่ได้ใช้
eval
หรือคล้ายกับการจัดการการแสดงออก - +300 โทษหากรหัสของคุณขึ้นอยู่กับแหล่งข้อมูลบนเว็บใด ๆ
55*96-12
กลับมา?