コマンドライン引き数で渡された、2つの整数 x , y の x / y の計算結果を小数点以下で①切り捨て②切り上げ③四捨五入するプログラムを作成せよ。 ただしMath.floor等の関数の使用を禁止する。
function floor(num) { } function round(num) { } function ceil(num) { } const a = process.argv[2] const b = process.argv[3] console.log(a / b) console.log(floor(a / b)) console.log(round(a / b)) console.log(ceil(a / b))
解答例
function floor(num) { let n = num while (true) { if (n < 1) { return num - n } n -= 1 } } function round(num) { return (num - floor(num)) < 0.5 ? floor(num) : floor(num) + 1 } function ceil(num) { return (num - floor(num)) > 0 ? floor(num) + 1 : floor(num) } const a = process.argv[2] const b = process.argv[3] console.log(a / b) console.log(floor(a / b)) console.log(round(a / b)) console.log(ceil(a / b))