SW ExpertAcademy/D2
1945. 간단한 소인수분해
Programmer.
2018. 12. 1. 00:38
1945. 간단한 소인수분해
문제출처: https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pl0Q6ANQDFAUq&categoryId=AV5Pl0Q6ANQDFAUq&categoryType=CODE
풀이 방법
주어진 숫자를 큰 숫자부터 나눠본다 나눠지지 않으면 그 다음 숫자를 이용하여 나눠준다
<코드>
#include<iostream> #include<cstring> using namespace std; int returnValue(int &origin, int target) { int retval{ 0 };// = origin / target; 50 5 while (origin % target ==0) { origin /= target; retval++; } return retval; } int main(int argc, char** argv) { int test_case; int T; cin >> T; for (test_case = 1; test_case <= T; ++test_case) { int input; std::cin >> input; int a, b, c, d, e; e = returnValue(input, 11); d = returnValue(input, 7); c = returnValue(input, 5); b = returnValue(input, 3); a = returnValue(input, 2); std::cout << "#" << test_case << " " << a << " " << b << " " << c << " " << d << " " << e << "\n"; } return 0;//정상종료시 반드시 0을 리턴해야합니다. }