結果

問題 No.81 すべて足すだけの簡単なお仕事です。
ユーザー jp_stejp_ste
提出日時 2021-01-31 20:31:19
言語 TypeScript
(5.4.3)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 930 bytes
コンパイル時間 7,598 ms
コンパイル使用メモリ 146,136 KB
最終ジャッジ日時 2024-07-22 16:56:08
合計ジャッジ時間 8,030 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.ts(41,6): error TS2580: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.

ソースコード

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