[백준 20302번] 민트 초코 (C++)
·
📚Algorithm/백준
https://www.acmicpc.net/problem/20302입력받는 모든 수를 소인수 분해 해서 곱셈과 나눗셈으로 나눠주면 된다.곱셈일 때는 등장하는 소수의 개수만큼 배열에서 더해주고, 나눗셈일 때는 반대로 빼주면 된다.최종 배열을 탐색하면서 0보다 작은 값이 있으면 분모에 해당 소인수가 살아있다는 뜻이므로 결과가 유리수가 된다.소인수분해하는 코드를 알아가기 좋은 문제다. #include #include #include #include #define endl "\n"using namespace std;int n, num;vector arr(100001,0);void fac(int a, bool check){ int tmp = sqrt(a); if(check){ for(int i = 2; i 1..
요플레에
'백준 민트초코' 태그의 글 목록