자연수 N이 입력되면 1부터 N까지의 합을 출력하는 프로그램을 작성하세요.
입력설명 | 첫 번째 줄에 20이하의 자연수 N이 입력된다.
출력설명 | 첫 번째 줄에 1부터 N까지의 합을 출력한다.
입력예제 | 6
출력예제 | 21
풀이
1. 함수 안에 반복문(for문)을 작성해서 만든다.
2. 받아오는 매개변수 안에서 값을 계속 더하는 반복을 만들어준다.
3. 누적으로 계산되게 할 것
처음 작성한 함수
function sumAll(x){
let output;
for(let i = 1; i <= x; i++){
output += 1;
}
return output;
}
console.log(sumAll(6));
NaN가 나왔다.
수정한 함수
function sumAll(x){
let output = 0; // output에 누적해주기위해서
for (let i = 1; i <= x; i++) {
output += i; // output = output + i
}
return output;
}
console.log(sumAll(6));
output에 누적해주기 위해서 처음에 0으로 할당한다.
output = output + i
우항 연산을 다 하고나서 좌항의 값이 갱신된다.
1 ← 0 + 1
3 ← 1 + 2
6 ← 3 + 3
10 ← 6 + 4
이런식으로 누적되면서 진행된다.
'💡Algorithm > 문제풀기' 카테고리의 다른 글
JS알고리즘 | 홀수 (0) | 2021.04.13 |
---|---|
JS알고리즘 | 최솟값 구하기 (0) | 2021.04.12 |
JS알고리즘 | 연필 개수 (0) | 2021.04.11 |
JS알고리즘 | 삼각형 판별하기 (0) | 2021.04.10 |
JS알고리즘 | 세 수 중 최솟값 (0) | 2021.04.10 |