結果
| 問題 |
No.56 消費税
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-12-12 08:21:33 |
| 言語 | TypeScript (5.7.2) |
| 結果 |
AC
|
| 実行時間 | 69 ms / 5,000 ms |
| コード長 | 758 bytes |
| コンパイル時間 | 8,235 ms |
| コンパイル使用メモリ | 228,540 KB |
| 実行使用メモリ | 41,324 KB |
| 最終ジャッジ日時 | 2024-12-31 16:48:02 |
| 合計ジャッジ時間 | 10,953 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 23 |
ソースコード
function Main(input: string): void {
const inputArr: number[] = input.split(' ').map(str => parseInt(str));
// 本来は1.で計算したいが、小数点以下の計算を行う歳の丸め誤差により計算結果が狂うため、2.で計算
// 1. 価格[円] * (1 + 消費税率/100[%]) = 価格[円] + (価格[円] * 消費税率/100[%])
// 2. ( 価格[円] * (100 + 消費税率)[% * 100] )[円 * 100] / 100
// → 小数点を持つ数値での演算は避け、最後に1/100してそれ以降は演算しないことで、誤差を回避
const amount: number = (inputArr[0] * (100 + inputArr[1])) / 100;
console.log( Math.floor(amount) ); // 小数点以下切り捨て
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));