C++ Algorithm/백준 알고리즘 문제 풀이
최대공약수/최소공배수
3영2
2019. 3. 18. 15:39
반응형
1934번 문제 : 최소공배수
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 34 | #include <iostream> using namespace std; int GetGCD(int a, int b) { int c; while (b != 0) { c = a % b; a = b; b = c; } return a; } int main() { int inp; cin >> inp; while (inp > 0) { int x, y; cin >> x >> y; int gcd = GetGCD(x, y); int lcm = x * y / gcd; cout << lcm << endl; inp--; } return 0; } | cs |
13241번 문제 : 최소공배수
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 | #include <iostream> using namespace std; int GetGCD(long long int a, long long int b) { long long int c; while (b != 0) { c = a % b; a = b; b = c; } return a; } int main() { long long int x, y; cin >> x >> y; long long int gcd = GetGCD(x, y); long long int lcm = x * y / gcd; cout << lcm << endl; return 0; } | cs |
2609번 문제 : 최대공약수와 최소공배수
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 | #include <iostream> using namespace std; int GetGCD(long long int a, long long int b) { long long int c; while (b != 0) { c = a % b; a = b; b = c; } return a; } int main() { long long int x, y; cin >> x >> y; long long int gcd = GetGCD(x, y); long long int lcm = x * y / gcd; cout << gcd << endl; cout << lcm << endl; return 0; } | cs |
3036번 문제 : 링
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 34 35 36 37 | #include <iostream> #include <vector> using namespace std; int GetGCD(int a, int b) { int c; while (b != 0) { c = a % b; a = b; b = c; } return a; } int main() { int num; vector<int> v; cin >> num; while (num > 0) { int inp; cin >> inp; v.push_back(inp); num--; } for (int i = 1; i < v.size(); i++) { int gcd = GetGCD(v.at(0), v.at(i)); cout << v.at(0) / gcd << "/" << v.at(i) / gcd << endl; } return 0; } | cs |
반응형