[C언어 코드업 문제풀이] CodeUp 1565 : [기초-함수작성] 함수로 최소공배수 리턴하기
ET의 공부/C언어 연습문제[ 코드업 ]2020. 7. 6. 09:22
코드업 1565번 함수로 최소공배수 리턴하기 문제 풀이 해답입니다.
1. 문제 설명
int 형 자연수 두 개를 입력받아
최소공배수(LCM, Least Common Multiple)를 출력하시오.
단, 함수형 문제이므로 함수 lcm()만 작성하여 제출하시오.
참고
최소공배수는 두 수의 공통 배수들 중에서 가장 작은 공통 배수를 의미한다.
예를 들어 72와 192의 최소 공배수는 576이다.
[함수형 문제란??]
함수형 문제는 기본적인 main() 등은 미리 작성되어 있습니다.
미리 작성되어 있는 프로그램은 다음과 같습니다.
미리 작성된 프로그램을 복사해 붙여 넣은 후 함수 부분을 설계하여 작성해 넣고,
테스트 한 후, 함수 부분만 제출하세요.
1
2
3
4
5
6
7
8
9
10
|
#include <stdio.h>
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
|
2. 입력
두 개의 자연수(a, b)가 공백을 두고 입력된다.
(1 <= a,b <= 2147483647)
3. 출력
두 수의 최소공배수를 출력한다.
4. 입력 예시
192 72
5. 출력 예시
576
6. 문제 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
long long int lcm(int a, int b) {
long long int minN = a;
long long int maxN = b;
if (minN > maxN) {
minN = b;
maxN = a;
}
return minN / gcd(maxN, minN) * maxN;
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
|
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1567 : [기초-함수작성] 함수로 배열의 부분합 리턴하기 (0) | 2020.07.07 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1566 : [기초-함수작성] 함수로 거듭제곱 리턴하기 (0) | 2020.07.06 |
[C언어 코드업 문제풀이] CodeUp 1564 : [기초-함수작성] 함수로 최대공약수 리턴하기 (0) | 2020.07.06 |
[C언어 코드업 문제풀이] CodeUp 1563 : [기초-함수작성] 함수로 세 정수 중 중간 값 리턴하기 (0) | 2020.07.06 |
[C언어 코드업 문제풀이] CodeUp 1562 : [기초-함수작성] 함수로 두 정수의 작은 값 리턴하기 (0) | 2020.07.06 |
댓글()