JavaScript
[FrontEnd2] 함수를 이용해 최대공약수, 최소공배수 구하기
보라해바라기
2022. 5. 27. 17:11
SMALL
안녕하세요:) 보라해바라기입니다.
오늘은 함수를 이용해서 최대공약수와 최소공배수를 구하는 프로그램을 만들어보았습니다.
1. 최대공약수 구하기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = parseInt(prompt("첫번째 정수 입력"))
var b = parseInt(prompt("첫번째 정수 입력"))
function greatestCommonFactor(a, b) {
var divisor = 2
var total = 1
if (a>=b){
while (divisor<=b) {
if (a%divisor == 0 && b%divisor==0){
total *= divisor
a /= divisor
b /= divisor
continue
}
divisor++
}
}
else { // (a<b)
while (divisor<=a) {
if (a%divisor == 0 && b%divisor==0){
total *= divisor
a /= divisor
b /= divisor
continue
}
divisor++
}
}
return total
}
var result = greatestCommonFactor(a, b)
document.write("최대공약수: " + result, "<br>")
</script>
</head>
<body>
</body>
</html>
2. 최소공배수 구하기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = parseInt(prompt("첫번째 정수 입력"))
var b = parseInt(prompt("첫번째 정수 입력"))
function leastCommonMultiple(a, b) {
var divisor = 2
var total = 1
if (a>=b){
while (divisor<=b) {
if (a%divisor == 0 && b%divisor==0){
total *= divisor
a /= divisor
b /= divisor
continue
}
divisor++
}
}
else { // (a<b)
while (divisor<=a) {
if (a%divisor == 0 && b%divisor==0){
total *= divisor
a /= divisor
b /= divisor
continue
}
divisor++
}
}
return (total * a * b)
}
var result = leastCommonMultiple(a, b)
document.write("최소공배수: " + result, "<br>")
</script>
</head>
<body>
</body>
</html>
728x90