【競プロ精進ログ】APG4b編<3-1>

zuka

ついに競技プログラミングを始めました!

本記事は,管理人の競技プロ精進日記としてログを取ったものです。モチベーションを爆上げするために,積極的にアウトプットしていく作戦です。これから競技プログラミングを始めようと考えている人や,なんとなく敷居が高いと感じている人の参考になれば嬉しく思います。その他の記事は以下をご覧ください。

目次

本記事の概要

Atcoderが公表しているc++の入門記事の内容を1からさらっていくものです。今回は3.01.数値型です。

実装

#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using namespace std;

int main() {
  int N = 0;
  cin >> N;

  // long longでないと足りない
  long long l0 = 2;
  long long l1 = 1;
  rep(i, N-1){
    l1 = l1 + l0;
    l0 = l1 - l0;
  }
  cout << l1 << endl;
}

ポイント

今回おさえるべき内容

 int型は10^9程度までしか扱えない

 int型よりも大きな整数はlong long

 float型よりも精度の高い小数はdouble

今回は特殊な数値型に関する話題です。通常はint型で事足りるのですが,競技プログラミングの問題によってはint型で扱える整数(10^9程度)を超えるような入力や,float型で扱える小数よりも精度の高い出力が求められる場合があります。その際には,適切な数値型を指定してあげる必要があります。

また,競技プログラミングの出力では小数点以下10桁程度まで出力しなければならないような問題もあります。その際は以下のように出力桁数を指定してあげると良いです。

cout << fixed << setprecision(桁数);
よかったらシェアしてね!

コメント

コメントする

目次
閉じる