จำนวนสามเหลี่ยมเป็นจำนวนที่สามารถแสดงเป็นผลรวมของจำนวนเต็มบวกติดต่อกันเริ่มต้นที่ 1 พวกเขายังสามารถแสดงออกด้วยสูตรn(n + 1) / 2ที่nเป็นจำนวนเต็มบวกบาง
คู่ที่เป็นตัวเลขดิจิตอลของตัวเลขถูกคำนวณด้วยวิธีต่อไปนี้:
- แบ่งตัวเลขออกเป็นอาเรย์ของตัวเลขเช่น
613 => [6 1 3] - สำหรับแต่ละหมายเลขในอาร์เรย์ให้คำนวณ
nจำนวนสามเหลี่ยมที่สาม[6 1 3] => [21 1 6] - รวมอาร์เรย์ผลลัพธ์
[21 1 6] => 28
งานของคุณคือรับจำนวนเต็มnคำนวณnคู่ของรูปสี่เหลี่ยมจัตุรัสซ้ำ ๆจนกระทั่งผลลัพธ์เท่ากับ 1 แล้วส่งออกค่าทั้งหมดที่คำนวณ คุณสามารถส่งออกค่าในลำดับใด ๆ และด้วยการรวมตัวเลือกของหมายเลขเดิมที่จุดเริ่มต้นของอาร์เรย์ นี่คือรหัสกอล์ฟเพื่อให้รหัสที่สั้นที่สุดชนะ
กรณีทดสอบ
23 => 9 45 25 18 37 34 16 22 6 21 4 10 1
72 => 31 7 28 39 51 16 22 6 21 4 10 1
55 => 30 6 21 4 10 1
78 => 64 31 7 28 39 51 16 22 6 21 4 10 1
613 => 28 39 51 16 22 6 21 4 10 1
8392 => 90 45 25 18 37 34 16 22 6 21 4 10 1
11111 => 5 15 16 22 6 21 4 10 1
8592025 => 117 30 6 21 4 10 1
999999999 => 405 25 18 37 34 16 22 6 21 4 10 1
141และมีnหลัก ค่าสูงสุดของค่าที่เป็นคู่ของรูปสามเหลี่ยมสามารถมีได้45nเช่นdigi-△(x) ≤ 45n < 45(1+log_10(x))นั้นและสำหรับx > 141เรามี45(1+log_10(x)) < xดังนั้นdigi-△(x) ≤ x-1สำหรับx > 141และเมื่อเราผ่าน141ขีด จำกัด แล้วเราจะบังคับให้พิสูจน์ผ่านโปรแกรม