본문 바로가기

최대공약수3

[BOJ / C++] 1850번 : 최대공약수 문제 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A가 111이고, B가 111111인 경우에는 최대공약수가 111이다. 입력 첫째 줄에 두 자연수 A와 B를 이루는 1의 개수가 주어진다. 입력되는 수는 263보다 작은 자연수이다. 출력 첫째 줄에 A와 B의 최대공약수를 출력한다. 정답은 천만 자리를 넘지 않는다. Solved.ac 레벨 실버 I 풀이 #include using namespace std; long long GCD(long long a, long long b){ return (b == 0 ? a : GCD(b, a % b)).. 2023. 4. 3.
[BOJ / C++] 5347번 : LCM 문제 두 수 a와 b가 주어졌을 때, a와 b의 최소 공배수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다. 출력 각 테스트 케이스에 대해서 입력으로 주어진 두 수의 최소공배수를 출력한다. Solved.ac 레벨 실버 V 풀이 #include using namespace std; int t; long long GCD(long long a, long long b){ if(b == 0) return a; else return GCD(b, a%b); } long long LCM(long long a, long long b){ return (a * b).. 2022. 9. 30.
[BOJ / c++] 2609번 : 최대공약수와 최소공배수 문제 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. Solved.ac 레벨 실버 V 풀이 #include using namespace std; int gcd(int a, int b){ if(b == 0) return a; else return gcd(b, a%b); } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int num1, num2; cin.. 2022. 5. 5.