Trung bình 0 đã giải Tỷ lệ chấp nhận 0%

Tổng Lũy Thừa Chữ Số

Cộng mỗi chữ số sau khi nâng lên lũy thừa theo vị trí từ trái sang.

Bạn sẽ học được gì

  • Tách một số thành các chữ số từ trái sang phải
  • Nâng mỗi chữ số lên lũy thừa theo vị trí của nó
  • Cộng dồn tổng trong vòng lặp

Đề bài

Xem bản gốc (English)

Đánh số các chữ số của n từ trái sang phải, bắt đầu từ 1. Nâng mỗi chữ số lên lũy thừa với vị trí của nó rồi cộng các kết quả lại. Ví dụ, với 352 thì là 3¹ + 5² + 2³. Chữ số 0 sẽ cộng thêm 0.

Cài đặt hàm digit_power_sum(n).

Đầu vào

n: Một số nguyên dương.

Đầu ra

Trả về tổng các chữ số sau khi nâng lũy thừa.

Ràng buộc

1 ≤ n ≤ 1,000,000,000

Ví dụ

Ví dụ 1
Đầu vào:
n = 352

Kết quả mong đợi:
expected = 36
Đầu vào:
long long n = 352;

Kết quả mong đợi:
long long expected = 36;
Đầu vào:
long n = 352;

Kết quả mong đợi:
long expected = 36;

Giải thích

3¹ + 5² + 2³ = 3 + 25 + 8 = 36.

Ví dụ 2
Đầu vào:
n = 89

Kết quả mong đợi:
expected = 89
Đầu vào:
long long n = 89;

Kết quả mong đợi:
long long expected = 89;
Đầu vào:
long n = 89;

Kết quả mong đợi:
long expected = 89;

Giải thích

8¹ + 9² = 8 + 81 = 89, chính là số ban đầu.

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

Duyệt số từng chữ số từ trái sang phải và theo dõi vị trí của từng chữ số.

Gợi ý 2

Chuyển số sang chuỗi hoặc xác định chỉ số từ trái sang phải trước khi kết hợp mỗi chữ số với vị trí của nó.

Gợi ý 3

Nhớ rằng chữ số 0 không đóng góp gì, nhưng vị trí của nó vẫn ảnh hưởng đến số mũ.

Độ phức tạp mong đợi

thời gian O(d), bộ nhớ phụ O(1)

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.