結果

問題 No.81 すべて足すだけの簡単なお仕事です。
ユーザー jp_ste
提出日時 2021-01-31 20:31:19
言語 TypeScript
(5.7.2)
結果
AC  
実行時間 66 ms / 5,000 ms
コード長 930 bytes
コンパイル時間 8,046 ms
コンパイル使用メモリ 228,476 KB
実行使用メモリ 41,440 KB
最終ジャッジ日時 2024-12-31 16:23:00
合計ジャッジ時間 10,991 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

function getBigInt(d) {
  let s = d.toString();
  let dotPos = s.indexOf(".");
  if(dotPos >= 0) {
    const left = s.substr(0, dotPos);
    const right = s.substr(dotPos + 1);
    const zeroNum = 10 - right.length;
    let zero = "";
    for(let i=0; i<zeroNum; i++) zero += "0";
    s = left + right + zero;
  } else {
    for(let i=0; i<10; i++) s += "0";
  }
  return BigInt(s);
}

function addDot(s) {
  s = s.toString();
  let minus = false;
  if(s[0] === "-") {
    s = s.substr(1);
    minus = true;
  }
  s = "0000000000" + s;
  let dot = s.length - 10;
  let left = BigInt(s.substr(0, dot));
  let right = s.substr(dot);
  return (minus ? "-" : "") + (left + "." + right);
}

function main(input) {
  const n = Number(input.shift());
  let sum = 0n;
  for(let i=0; i<n; i++) {
    sum += getBigInt(input[i]);
  }
  console.log(addDot(sum));
}

main(require("fs").readFileSync("/dev/stdin", "utf8").trim().split("\n"));
0