1009번 - 분산 처리
주어진 값 중에서 a^b 는 최대값을 넣어보면 너무 큰 값이 나오기 때문에 담기가 불가능해보였다.
어차피 나머지 연산은 겹쳐서 계산을 해도 되기 때문에 b번만큼 a를 곱하면서 나머지만을 구했다.
그리고 나머지가 0인 경우에는 10번 컴퓨터 이므로 10을 출력하도록 했다.
<정답 코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include<iostream> using namespace std; int main(int argc, char** argv) { ios::sync_with_stdio(false); cin.tie(NULL); int tc; cin >> tc; for (int t = 1; t <= tc; t++) { int a, b; cin >> a >> b; int ret = 1; for (int i = 1; i <= b; i++) { ret =(ret*a)%10; } if (ret == 0) { cout << "10\n"; } else { cout << ret << "\n"; } } return 0;//정상종료시 반드시 0을 리턴해야합니다. } | cs |
반응형