728x90
이제는 빠르게 넘어갈 건 넘어가면서 풀려고 한다.
다음 단계인 약수, 배수와 소수부터 시작하겠다.
문제 5086번
https://www.acmicpc.net/problem/5086
5086번: 배수와 약수
각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.
www.acmicpc.net
음... 일단 0이 2개 주어질 때까지 반복문을 돌려주고 약수인지, 배수인지 아니면 둘 다 아닌지 조건문을 이용하여 확인하면 될 것 같다.
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require("fs").readFileSync(readFileSyncAdress).toString().trim().split('\n');
let n,m
for(let i=0;;i++){
[n,m] = input[i].split(' ');
if(n%m===0){//배수
console.log('multiple');
} else if(m%n===0){//약수
console.log('factor');
} else if(n==0&&m==0){
break;
}else{
console.log('neither');
}
}
for문에 조건은 비워두고 반복을 하여 n과 m이 둘 다 0이되면 break를 하게 만들었다.
while 문도 사용할 수 있는데, 다음과 같이 작성하면 된다.
const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require("fs").readFileSync(readFileSyncAdress).toString().trim().split('\n');
let n,m
let i=0;
while(1){
[n,m] = input[i].split(' ');
if(n%m===0){//배수
console.log('multiple');
} else if(m%n===0){//약수
console.log('factor');
} else if(n==0&&m==0){
break;
}else{
console.log('neither');
}
i++;
}
여기서는 i를 따로 증가시켜줘야한다.
728x90
'백준 > JavaScript' 카테고리의 다른 글
[JS] 백준 약수, 배수와 소수 - 9506번 (0) | 2024.02.06 |
---|---|
[JS] 백준 약수, 배수와 소수 - 2501번 (0) | 2024.02.05 |
[JS] 백준 일반 수학 1 - 다섯 번째 이야기 (0) | 2024.02.03 |
[JS] 백준 일반 수학 1 - 네 번째 이야기 (0) | 2024.02.02 |
[JS] 백준 일반 수학 1 - 세 번째 이야기 (2) | 2024.02.01 |