โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)กำหนดหมายเลขตำแหน่งของแต่ละหลักใน n จากซ้าย โดยเริ่มที่ 1 ให้นำแต่ละหลักมายกกำลังตามตำแหน่งของมัน แล้วนำผลลัพธ์ทั้งหมดมาบวกกัน สำหรับ 352 จะได้ 3¹ + 5² + 2³ หลักที่เป็นศูนย์จะได้ค่า 0
ให้เขียนฟังก์ชัน digit_power_sum(n)
อินพุต
n: จำนวนเต็มบวก
เอาต์พุต
คืนค่าผลรวมของแต่ละหลักที่ถูกยกกำลังตามตำแหน่ง
เงื่อนไข
1 ≤ n ≤ 1,000,000,000
ตัวอย่าง
ตัวอย่างที่ 1
อินพุต:
n = 352
ผลลัพธ์ที่คาดหวัง:
expected = 36
อินพุต:
long long n = 352;
ผลลัพธ์ที่คาดหวัง:
long long expected = 36;
อินพุต:
long n = 352;
ผลลัพธ์ที่คาดหวัง:
long expected = 36;
คำอธิบาย
3¹ + 5² + 2³ = 3 + 25 + 8 = 36
ตัวอย่างที่ 2
อินพุต:
n = 89
ผลลัพธ์ที่คาดหวัง:
expected = 89
อินพุต:
long long n = 89;
ผลลัพธ์ที่คาดหวัง:
long long expected = 89;
อินพุต:
long n = 89;
ผลลัพธ์ที่คาดหวัง:
long expected = 89;
คำอธิบาย
8¹ + 9² = 8 + 81 = 89 ซึ่งเท่ากับตัวเลขเอง