본문 바로가기
문제 해결/BaekJoon

[백준] [C++] 23037번 5의 수난

by WSLim_97 2022. 11. 19.
반응형

https://www.acmicpc.net/problem/23037

 

23037번: 5의 수난

키파는 문득 3과 4의 견고한 벽에 가로막혀 스포트라이트를 받지 못하는 5를 떠올렸다. '세상에 얼마나 많은 것들이 5와 관련이 있는데!' 키파는 5가 쓰이는 곳을 떠올리기 시작했다. 사람의 손가

www.acmicpc.net


코드

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	int n, a, total = 0;
	cin >> n;

	while (n > 0) {
		a = pow(n % 10, 5);
		total = total + a;
		n = n / 10;
	}
	cout << total;

	return 0;
}

풀이

5자리 정수인 n을 입력받아 각 자릿수에 다섯 제곱을 한 값을 더하여 출력하는 문제이다.

 

c++에서 cmath 헤더 파일을 사용하면 제곱을 이용할 수 있는 pow 함수를 사용할 수 있다.

 

pow 함수의 첫 번째 매개변수는 제곱을 할 대상을 뜻하고 두 번째 매개변수는 몇 제곱을 할 것인지 정하는 것이다.

 

예를 들어 pow(2, 10) 이라면 2의 10 제곱을 구하는 것이다.

 

위 문제에서는 5자리 정수를 10으로 나눈 나머지에 pow 함수를 적용시키고 total에 더한 후 원래 변수인 n을 10으로 나누어 4자리 정수로 만든다.

 

위 문장을 n이 0일때까지 반복한다.

 

while문이 종료되면 total을 출력한다.

반응형