CODE FESTIVAL 2015 C - 今日から始める競プロ日記
はじめに
chokudaiさんの今日の一問を解いてみた。
CODE FESTIVAL 2015 チーム対抗早解きリレー C
問題自体は簡単だけど、 早解きするとなると難しい。
今日の問題……じゃないけどお休みした分の問題にネタ枠をw
— chokudai(高橋 直大)🌸🍆🍡 (@chokudai) September 9, 2019
10人一組のリレーだからこそ出題出来た問題。10人いれば円周率覚えてる奴くらいいるだろ、みたいな感じ。
C - 円周率 https://t.co/meokD4Asur#chokudai今日の一問
C - 円周率
- 一桁の整数Nが与えられる
- そのNが円周率の何桁目に現れるか求めよ
解いた方針
円周率を50桁くらいコピペしただけ。
chokudaiさんのツイートを読んでなるほどなーとおもった。
円周率問題の解説!
— chokudai(高橋 直大)🌸🍆🍡 (@chokudai) September 10, 2019
asin(-1)とかMATH_PIとかを使うことで、double型の精度でのπを得ることができますが、この精度だとまだ0の時だけが求まりません。
でも0の時の答えはサンプルにあるので、0の時だけ分岐してあげれば、ACすることができます!覚えてなくても解ける!やさしい!
コード
#include <bits/stdc++.h> using namespace std; int main() { string pi = "3141592653589793238462643383279502884197169399"; char N; cin >> N; for(int i = 0; i < pi.size(); i++) { if(N == pi[i]) { cout << i << endl; return 0; } } }
おわりに
「問題を解けること」と「問題を早解きできること」は別物だなーということを改めて知った。