競プロ

競プロの解説 No.744 循環小数N桁目 Easy

問題

https://yukicoder.me/problems/no/744

n(数字)が入力される。

2/7の小数点n位の数字を出力せよ。

解法

2/7は0.28571428… と285714の6つの数字を繰り返しています。

しかし、ここで注意点が!!!

Pythonの文字列の番号は0から1,2…と割り振られる

つまり、285714のn番目ってコード書いても0から始まるためn+1番目になってしまうので予めn番目と指定しても動くように文字列を1つ右にずらします。(285714→428571

nを6で割り、428571の何番目にあるかを調べます。

後は428571のn番目をprintするだけです。

こんなコードになります。

まとめ

この問題は非常に簡単ですが、リストや文字列が0,1,2,3と割り振られるのを忘れているとエラーが出てしまうという初歩的なミスが出てしまいます。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です