//for문
let sum = 0;
for(let i = 1; i < 5; i++) { // i를 1으로 초기화; i는 5 미만까지; i를 1씩 더함
sum = sum + i;
}
console.log(sum) // 10
//while문
let sum = 0;
let i = 1; // i를 1로 초기화; 꼭 초기화 하지 않아도 됨.
while(i < 5) { // i는 5 미만까지
sum = sum + i;
i = i + 1; // i를 1씩 더함
}
console.log(sum) // 10
//while문
Math.sqrt(x)
// x에 루트를 씌워 제곱근을 반환한다.
console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(21)); // 4.5825...84
console.log(Math.sqrt(0)); // 0
console.log(Math.sqrt(-1)); // NaN
오늘은 지난 3일간 배운 변수, 타입, 함수, 조건문, 문자열, 메소드, 프로퍼티를 모두 반복하는 경험이 됐다. 페어 분이 진행하면서 문제를 파악하는 능력이 뛰어나셔서 막힘이 좀 덜했다. 아마도 기존처럼 혼자서 했다면 아마 깊게 집중하지 못하고 답을 찾아봤을 것 같다. 특히, 어려움을 느꼈던 부분이 소수(Prime number) 판별하는 것이다.
기존에 작성했던 코드는 반복문 조건을 2로 초기화하고 받은 인자 미만까지 1씩 더하며 판별했다.
// num의 수가 소수인지 판별
for(let n = 2; n < num; n++) {
if(num % n === 0) {
return false
}
} return true
그러나 소수는 2를 제외한 짝수는 될 수 없기 때문에 다음과 같이 작성할 수 있다.
// num의 수가 소수인지 판별
if (num === 2) {
return true
}
for(let n = 3; n < num; n += 2) {
if(num % n === 0) {
return false
}
} return true
// 2는 시작부터 트루를 반환하고, 그 이후부터는 n을 2씩 증가시켜서 홀수만 대입한다.