작성일 :

문제 링크

23037번 - 5의 수난

설명

다섯 자리 양의 정수가 주어지면, 각 자릿수를 5제곱하여 모두 더한 값을 출력하는 문제입니다.


접근법

입력을 문자열로 받아 각 자릿수를 순회하며 5제곱 값을 누적합니다. 예를 들어 입력이 10234라면 1^5 + 0^5 + 2^5 + 3^5 + 4^5 = 1 + 0 + 32 + 243 + 1024 = 1300입니다.

각 자릿수를 정수로 변환한 후 5제곱하여 합산하고 최종 결과를 출력합니다.



Code

C#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;

namespace Solution {
  class Program {
    static void Main(string[] args) {
      var digits = Console.ReadLine()!;
      var sum = 0L;

      foreach (var ch in digits) {
        var d = ch - '0';
        sum += (long)Math.Pow(d, 5);
      }

      Console.WriteLine(sum);
    }
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  string digits; cin >> digits;

  ll sum = 0;
  for (char ch : digits) {
    int d = ch - '0';
    sum += (ll)pow(d, 5);
  }

  cout << sum << "\n";

  return 0;
}