[300]1978号小数点を探す
7032 ワード
1978号探查小数。
質問する
プログラムを書き出して、与えられたN個の数の中で何個が小数であるかを見つけます.
入力
1行目の数字はNです.Nは100以下である.次はN個、数は1000以下の自然数です.
しゅつりょく
与えられた数のうちの少数の数を出力します.
コピー例入力1
4
1 3 5 7
コピー例出力1
3
コード#コード#
//---- 세팅 ----//
const fs = require('fs');
const stdin = (
process.platform === 'linux'
? fs.readFileSync('/dev/stdin').toString()
: `\
4
1 3 5 7
`
).split('\n');
const input = (() => {
let line = 0;
return () => stdin[line++];
})();
//---- 풀이 -----//
const t = Number(input());
const numberArr = input().split(' ').map(Number);
const isPrime = n => {
if (n <= 1) return false;
for (let i = 2; i * i <= n; i++) {
// i * i <= n 을 i <= n / i 로 대체 가능
if (n % i === 0) return false;
}
return true;
};
const primeArr = numberArr.filter(n => isPrime(n));
console.log(primeArr.length);
に答える
小数:1と自分だけの小数
繰り返し文の範囲
nの約数はnの半分を超えてはならない.
i <= n / 2
i * i <= n
i <= Math.sqrt(n)
(より高速)出典:https://www.it-note.kr/308[IT開発者コメント]
Reference
この問題について([300]1978号小数点を探す), 我々は、より多くの情報をここで見つけました https://velog.io/@younoah/boj-1978テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol