# ❓ Test!
### Q1.
#### 📌 1부터 100까지 더하는 for문을 만들고 결과를 출력하시오.

### A1.
```javascript=
let result = ''; // 결과를 저장할 변수 초기화
for (let i = 1; i <= 100; i++) { // 1부터 100까지의 숫자에 대해 반복
for (let j = 1; j <= 100; j++) { // 1부터 100까지의 숫자에 대해 반복
result += '[' + i + ' + ' + j + ' = ' + (i + j) + '] '; // 결과를 result 변수에 추가
};
};
a1.innerHTML = result; // 결과를 HTML의 특정 요소에 출력
```
```console=
// 콘솔이 덜덜 거리는 관계로 화면 출력
```
**[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)**
### Q2.
#### 📌 1부터 100까지 홀수만 출력하자.
### A2.
```javascript=
let oddNum = ''; // 결과를 저장할 변수 초기화
for (let i = 1; i <= 100; i += 2) { // 1부터 100까지의 숫자에 대해 2씩 증가하면서 반복
i++; // i를 2씩 증가시킴
oddNum += i + ' '; // 결과를 result 변수에 추가
}
a2.textContent = oddNum;
```
**[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)**
### Q3.
#### 📌 1부터 50까지 369결과를 프린트하자.
```
1
2짝
45
짝...생략
28
짝짝
짝짝
짝짝
```
### A3.
- 누나가 설명해 준 보너스 트랙과 다르다..
- 음.. 음... 으음.. 조금 더 찾아봐야겠다
```javascript=
for (let i = 1; i <= 50; i++) { // 1부터 50까지의 숫자에 대해 반복
let output = ""; // 각 숫자에 대한 결과를 저장할 변수 output (초기화)
// 일의 자리가 3,6,9 중 하나인지 나머지 값으로 확인
// ex) i = 11 => 11 / 10 = 나머지 1
if (i % 10 === 3 || i % 10 === 6 || i % 10 === 9) output += '짝';
// 현재 숫자를 10으로 나눈 결과의 정수 부분이 3, 6, 9 중 하나인지 확인
// ex, i = 30 => 30 / 10 = 3
if ((i / 10) === 3 || (i / 10) === 6 || (i / 10) === 9) output += '짝';
// 만약 10의 자리와 1의 자리에 모두 3, 6, 9가 있으면 "짝짝"으로 표현
if ((i % 10 === 3 || i % 10 === 6 || i % 10 === 9) && ((i / 10) === 3 || (i / 10) === 6 || (i / 10) === 9)) {
output = '짝짝';
}
// if문에서 output에 "짝"이 할당되었는지 i랑 비교
// 만약 output에 "짝"이 할당되었다면 그 값을 num 변수에 저장
// 그렇지 않으면 숫자 i를 num 변수에 저장
let num = output || i;
// num 변수의 값을 화면에 출력
a3.textContent += num + ' ';
} // for 루프 끝
```
**[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)**
### Q4.
#### 📌 1부터 100까지 홀수만 출력하자.

### A4.
- 처음엔 문제가 소숫점을 찾으라는 말인줄 알았다..
- 문제 그림을 보니 아닌 것 같았다..
- 혹시나 해서 [숫자가 소수이면](https://developer.mozilla.org/ko/docs/Learn/JavaScript/Building_blocks/Test_your_skills:_Loops#%EB%B0%98%EB%B3%B5%EB%AC%B8_3) 이 말을 몇 번을 구글링 해봤는지.. 아무도 모를 것이다..
- 누나랑 좀 다르다.. 재확인해봐야겠다..
```javascript=
// isPrime 함수 정의
function isPrime(number) {
// 주어진 숫자가 1보다 작거나 같으면 소수가 아님
if (number <= 1) {
return false;
}
// 2부터 숫자 자신의 제곱까지의 숫자로 나누어보며 나누어떨어지는 수가 있는지 확인
for (let i = 2; i * i <= number; i++) {
// 만약 나누어떨어지는 수가 있다면 소수가 아님
if (number % i === 0) {
return false;
}
}
// 나누어떨어지는 수가 없으면 소수임
return true;
}
// 버튼 클릭 이벤트 처리
numBtn.addEventListener('click', function() {
// 입력된 숫자 가져오기
const inputNumber = document.getElementById('floatingInput').value;
// 입력된 값이 숫자인지 확인
if (!isNaN(inputNumber)) {
// isPrime 함수를 사용하여 소수 여부 확인
const result = isPrime(parseInt(inputNumber));
// 소수인지 아닌지에 따라 알림창에 메시지 출력
if (result) {
alert(inputNumber + '는 소수입니다.');
} else {
alert(inputNumber + '는 소수가 아닙니다.');
}
} else {
alert('숫자를 입력하세요.');
}
});
```
**[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)**