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
'JavaScript' 카테고리의 다른 글
[FrontEnd2] JS 연습문제 (객체) (0) | 2022.06.05 |
---|---|
[FrontEnd2] JS 연습문제 (함수) (0) | 2022.05.29 |
[FrontEnd2] JS 연습문제 풀이 (중첩 반복문 2) (0) | 2022.05.24 |
[FrontEnd2] JS 연습문제 풀이 (중첩 반복문 1) (0) | 2022.05.22 |
[FrontEnd2] JS 연습문제 풀이 (switch, while ,for 문) (0) | 2022.05.20 |
댓글