...
728x90
반응형
함수를 이용한 연습문제
연습문제 1
사용자가 prompt창에 숫자를 입력했을 때 그 숫자를 함수로 넘겨주고, 함수에서는 숫자가 양수인지, 음수인지, 또는 0인지 판단해서 알림 창에 보여주는 프로그램을 작성하시오.
풀이 Tip !
- 숫자를 받아서 양수, 음수, 0을 판단하고 알림 창에 표시하는 함수를 선언합니다.
- parseInt() 함수를 사용해 prompt창에 입력한 내용을 숫자로 변환합니다.
(prompt 창에 입력한 내용이 숫자가 아니면 parseInt() 함수는 NaN을 반환합니다.) - 반환값이 숫자일 경우에만 함수를 실행합니다.
풀이
function isPositive(n) {
if (n > 0) {
alert(`${n}은 양수입니다.`);
} else if (n < 0) {
alert(`${n}은 음수입니다.`);
} else {
alert(`${n}은 0입니다.`);
}
}
const number = parseInt(prompt('숫자를 입력하세요.'));
if(!isNaN(number)) {
isPositive(number);
}
연습문제 2
2개의 숫자를 입력받아 두 수의 최대공약수를 구하는 함수를 작성하고 테스트해 보시오.
풀이 Tip !
- 주어진 두 수 중에서 어떤 수가 큰 수인지 확인합니다.
- 두 수가 모두 나누어 떨어져야 하므로 두 수 중에서 큰 수까지 반복하면서 작은 수도 나누어 떨어지고, 큰 수도 나누어 떨어지는 숫자를 찾습니다.
- 찾을 때마다 변수에 할당합니다. 반복이 모두 끝나면 변수에는 가장 마지막에 할단된 약수만 남습니다.
풀이
function getGCD(n, m) {
let max = n > m ? n : m;
let GCD = 0;
for (let i = 1; i <= max; i++) {
if (n % i === 0 && m % i === 0) {
GCD = i;
}
}
return GCD;
}
console.log(`308과 20의 최대공약수 : ${getGCD(308, 20)}`);
console.log(`45과 38의 최대공약수 : ${getGCD(45, 38)}`);
728x90
반응형