タグ

ブックマーク / zenn.dev/mod_poppo (4)

  • 整数除算の二つの流儀

    整数除算の流儀 整数除算は割り切れなかった時の商の扱い方によって何種類かに分類でき、商を0に向かって切り捨てるものと、-\inftyに向かって切り下げる(床関数)ものの2種類がよく使われます。この記事ではこれらの関係を見ていきます。 ここではquot, rem, div, modを次のように定めます。ただし、\mathrm{trunc}(x)はxと同じ符号を持ち、絶対値が\lvert x\rvertを超えない最大の整数であるような整数です。 \begin{aligned} \mathrm{quot}(n,d)&:=\mathrm{trunc}(n/d), \\ \mathrm{rem}(n,d)&:=n-\mathrm{quot}(n,d)\cdot d, \\ \mathrm{div}(n,d)&:=\lfloor n/d\rfloor, \\ \mathrm{mod}(n,d)&:=n

    整数除算の二つの流儀
    Nyoho
    Nyoho 2023/02/11
  • 浮動小数点数オタクがAtCoder Beginner Contest 284のD問題をガチで解説してみる

    こんにちは、浮動小数点数オタクのmod_poppoです。 昨日開催されたABC284のD問題でsqrtがどうのこうのという声がツイッターで観測されたので、ガチで考察してみます。 問題文(引用) まず最初に問題文を引用しておきます。 AtCoder Beginner Contest 284 | D - Happy New Year 2023 問題文 正整数Nが与えられます。Nは、2つの相異なる素数p, qを用いてN=p^2qと表せることがわかっています。 p, qを求めてください。 T個のテストケースが与えられるので、それぞれについて答えを求めてください。 制約 入力は全て整数 1\le T\le 10 1\le N\le 9\times 10^{18} Nは、2つの相異なる素数p, qを用いてN=p^2qと表せる 2023が7\times 17^2と素因数分解できることにちなんだ問題のよう

    浮動小数点数オタクがAtCoder Beginner Contest 284のD問題をガチで解説してみる
  • Haskellの環境構築2023

    この記事はHaskell Advent Calendar 2022の1日目の記事です。 この記事では、2022年12月時点のHaskellの環境構築手順を紹介します。2023年になっても通用するといいなあ。 対象とする環境 対象とする環境は以下の通りです: Unix系 macOS (Intel / Apple Silicon) Linux (x86_64 / aarch64) WSL2を含む(WSL1は不具合があった気がするので避けてください) Windows (x64) Arm系CPU搭載のコンピューターを使っている場合は、別途LLVMが必要になる場合があります。以下に当てはまる場合は、「補遺:LLVMバックエンドを使う」も読んでください: 64ビットArm(Apple Silicon Macや、Raspberry Pi OSの64ビット版など)で、GHC 9.0またはそれ以前のバージョ

    Haskellの環境構築2023
  • 最近のC言語と、次期C標準(C23)

    C言語といえば古い言語なイメージですが、その重要性はまだまだ落ちていません(多分)。重要な言語だからこそ、今もひっそりと進化を続けています。この記事では、そんなC言語の最近の動向を紹介します。 まずはC言語の前世紀の標準であるC99、現行の標準であるC11/C17を振り返り、その後に未来の標準であるC23に触れます。 C99 C99では色々追加されました。ここでは一部のみの紹介とします。 _Bool _Complex C++の std::complex とメモリ上での互換性がある(C++11以降)。 可変長配列(VLA) 可変長引数マクロ 浮動小数点数の強化 十六進表記 筆者による関連記事:浮動小数点数の16進表記 fma 筆者による関連記事:FMA (fused multiply-add) の話 #pragma STDC FENV_ACCESS, #pragma STDC CX_LIMI

    最近のC言語と、次期C標準(C23)
    Nyoho
    Nyoho 2021/07/15
  • 1