728x90
반응형
// 1번 - 10부터 300까지 숫자 중 6의 배수만 전부 더해서 반환하는 함수를 만드세요 divisor 라는 이름의 함수를 생성하세요. 그리고 결과를 출력하세요.
let divisor = (a, b) => {
let num = 0;
for (; a <= b; a++) {
if((a%6) === 0){
num += a;
}
}
return num;
};
console.log(divisor(10,300));
// 2번 - 숫자 두개를 인자로 받아, 두 숫자의 최대 공약수와 최소 공배수를 반환하는 gcd_N_lcm 이라는 함수를 반환하세요. 반환할 떄, 문자열로 반환 "(최대공약수 최소공배수)" 의 형태로 반환하세요. 예) 숫자1 : 2, 숫자2: 6, 반환값: (2, 6)
// 최대공약수 : 두 숫자의 약수 중, 제일 큰 수
// 최소공배수 : 두 숫자의 배수 중, 제일 작은 수
function gcd_N_1cm(num1, num2){
// 삼항연산자
// 조건식 ? 참 : 거짓
let min = num1 < num2 ? num1 : num2;
for(let i = min; min >= i; i++){
if(num1 % i === 0 && num2 % i === 0){
return `(${i}, ${num1 * num2 / i})`;
}
}
}
let result = gcd_N_1cm(6,8);
console.log(result);
function 최대공약수알고리즘(숫자1, 숫자2){
if(숫자1 % 숫자2 === 0){
return 숫자2; //최대 공약수
}
return 최대공약수알고리즘(숫자2, 숫자1 % 숫자2);
}
console.log(최대공약수알고리즘(1112, 695));
// 재귀함수 : 함수 안에서 자기 자신 함수를 호출하는 것
function recursive(number){
if(number >= 10){
return;
}
console.log('재귀실행', number)
recursive(number + 1);
}
recursive(1);
function factorial(number){
if(number ===1){
return 1;
}
return number * factorial(number - 1);
}
console.log(factorial(3));
728x90
반응형