โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)นำตัวเลขแต่ละหลักของ n มาบวกกัน หากผลลัพธ์มีมากกว่าหนึ่งหลัก ให้นำตัวเลขแต่ละหลักของผลลัพธ์นั้นมาบวกกันอีก ทำซ้ำจนกว่าจะเหลือเพียงตัวเลขหลักเดียว
ให้เขียนฟังก์ชัน digital_root(n)
อินพุต
n: จำนวนเต็มบวก
เอาต์พุต
คืนค่าตัวเลขหลักเดียวสุดท้าย
เงื่อนไข
1 ≤ n ≤ 10¹⁸
ตัวอย่าง
ตัวอย่างที่ 1
อินพุต:
n = 999
ผลลัพธ์ที่คาดหวัง:
expected = 9
อินพุต:
long long n = 999;
ผลลัพธ์ที่คาดหวัง:
long long expected = 9;
อินพุต:
long n = 999;
ผลลัพธ์ที่คาดหวัง:
long expected = 9;
คำอธิบาย
9 + 9 + 9 = 27, จากนั้น 2 + 7 = 9
ตัวอย่างที่ 2
อินพุต:
n = 38
ผลลัพธ์ที่คาดหวัง:
expected = 2
อินพุต:
long long n = 38;
ผลลัพธ์ที่คาดหวัง:
long long expected = 2;
อินพุต:
long n = 38;
ผลลัพธ์ที่คาดหวัง:
long expected = 2;
คำอธิบาย
3 + 8 = 11, จากนั้น 1 + 1 = 2