[300]2004グループ0の個数
8594 ワード
2004集团0个数
質問する
プログラムを記述し,(nm)の端数0を出力する.
入力
1行目は整数n,m(0≦m≦n≦20000000,n≠0)である.
しゅつりょく
第1行出力(nm)の端数0.
コピー例入力1
25 12
コピー例出力1
2
コード#コード#
//---- 세팅 ----//
const fs = require('fs');
const stdin = (
process.platform === 'linux'
? fs.readFileSync('/dev/stdin').toString()
: `\
25 12
`
).split('\n');
const input = (() => {
let line = 0;
return () => stdin[line++];
})();
//---- 풀이 -----//
const [n, m] = input().split(' ').map(Number);
const getTwoFive = x => {
let five = 0;
let two = 0;
for (let i = 2; i <= x; i *= 2) {
two += parseInt(x / i);
}
for (let i = 5; i <= x; i *= 5) {
five += parseInt(x / i);
}
return [two, five];
};
const [nt, nf] = getTwoFive(n);
const [mt, mf] = getTwoFive(m);
const [nmt, nmf] = getTwoFive(n - m);
const two = nt - mt - nmt;
const five = nf - mf - nmf;
console.log(Math.min(two, five));
に答える
前の
팩토리얼 0의 개수
と同様に解放される.しかし、組み合わせの公式
nCr = n! / r! * (n-r)!
なので、n!
で使われている2と5の個数を加算し、r!
と(n-r)!
で使われている2と5の個数を除けばよい.参考ブログ:https://leylaoriduck.tistory.com/513?category=880546
Reference
この問題について([300]2004グループ0の個数), 我々は、より多くの情報をここで見つけました https://velog.io/@younoah/boj-2004テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol