TLE를 어떻게 해결할 수 있을까요?

yyggh337 Reply 4 years 1 week ago
a와 b의 최소공배수를 구하는 방법에서 int gcd=1; for(int i=2; i<=a ;i++){ if(a%i==0&&b%i==0){ gcd*=i; a/=i; b/=i; } } int lcm=a*b*gcd; 이런 예시를 드셨는데 이렇게 최소공배수를 구하려고 하면 x를 n1, n2, n3의 최소공배수로 나눈 나머지를 구하려고 할 때 n1, n2, n3가 변한 상태로 나머지를 구해야 해서 어려울 것 같습니다. 이 문제를 해결할 수 있는 방법이 있을까요? 아니면 다른 방법으로 최소공배수를 빠르게 구할 수 있을까요?
withcs2 Reply 4 years 1 week ago
앗.. 제가 무슨 생각으로 저렇게 썼죠 ㅜㅜ 죄송합니다 제가 정신이 없었나봐요 int gcd=1; for(int i=2; i<=a ;i++){ while(a%i==0&&b%i==0){ gcd*=i; a/=i; b/=i; } } int lcm=a*b*gcd; 이렇게 하면 됩니다