白駿1712号損益バランスポイント-JS

1300 ワード


-Google後にレポートを提示

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split(' ');
let A = Number(input[0]);
let B = Number(input[1]);
let C = Number(input[2]);
let x = 0;
let bottom = C-B;
if(bottom > 0) {
  x = A/(C-B);
  if(x >= 0) {
    console.log(Math.floor(x+1));
  } else {
    console.log(-1);
  }
} else {
  console.log(-1);
}
私がずっと間違っていたのはA/(C-B)がC-Bが負数ではない条件を与えなかったからだ.除算には当然負の条件が必要だ.

-3つの演算子を使用する他者コード

let input = require('fs').readFileSync('/dev/stdin').toString().split(' ');

const A = input[0] * 1;
const B = input[1] * 1;
const C = input[2] * 1;

const margin = C - B;
const count = Math.floor(A / margin) + 1

console.log(margin <= 0 ? -1 : count);

-新しい認識

  • 小数点調整
    Math.Ceil(x):与えられた値に小数点を加えて整数を返す
    Math.floor(x):与えられた値に小数点を加えて整数を返す
    Math.round(x):与えられた値を小数点以下に四捨五入して整数を返す
    Number.prototype.toFixed(x):小数点以下の桁数を所定の値の長さに四捨五入し、
  • を返します.
    num.toFixed(3)第3ビット出力に四捨五入(n.nnnこのように出力)