ปานกลาง 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

รากดิจิทัล

บวกตัวเลขแต่ละหลักซ้ำไปเรื่อย ๆ จนเหลือเพียงหลักเดียว

นำตัวเลขแต่ละหลักของ 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

เรียนรู้จากคนอื่น

แนวทางจากชุมชน

ยังไม่มีวิธีทำที่เผยแพร่ ลองแก้โจทย์นี้เพื่อแชร์วิธีแรก