유한소수 판별하기 : 문제 링크
유한소수 : 소수점 아래 숫자가 계속되지 않고 유한개인 소수, 기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야한다.
#include <vector>
using namespace std;
int gcd(int a, int b) {
return (a % b == 0 ? b : gcd(b, a % b));
}
int solution(int a, int b) {
b /= gcd(a, b);
while(1) {
if(b % 2 == 0) b /= 2;
else if(b % 5 == 0) b /= 5;
else break;
}
if(b == 1) return 1;
else return 2;
}