반응형
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을 출력한다.
반응형
'문제 해결 > BaekJoon' 카테고리의 다른 글
[백준] [C++] 25372번 성택이의 은밀한 비밀번호 (0) | 2022.11.19 |
---|---|
[백준] [C++] 23795번 사장님 도박은 재미로 하셔야 합니다 (0) | 2022.11.19 |
[백준] [C++] 17869번 Simple Collatz Sequence (0) | 2022.11.19 |
[백준] [C++] 15700번 타일 채우기 4 (0) | 2022.11.19 |
[백준] [C++] 15000번 CAPS (0) | 2022.11.18 |