第76回【Python】池の周回、崖に落ちるか判定

現在取り組んでいるのは、paiza ラーニング問題集「条件分岐メニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

Python をゼロから勉強してみよう、のコーナー 76 回目です。

お年を召した方は、無駄に会議をしたがる傾向が強いように感じます。その会議、本当に必要? いろいろなウェビナーで問われていますが、お年を召した方はそもそもウェビナーに参加しようとしないので、何も変わりません。

それでは、今日も頑張ってみようと思います。

池の周回

京子ちゃんは 1 周がNメートルの円の外周上にいます。京子ちゃんは 1 ターンで現在地点から K メートル時計回りに円周上を歩きます。スタート地点から開始してTターン歩いたとき、京子ちゃんが丁度スタート地点に戻ってきているかどうかを判定してください。ただし、京子ちゃんは各ターン必ず歩く必要があり、同じ場所にとどまることはできません。

N K T

すべてのテストケースにおいて、以下の条件をみたします。

・ N, K, T は 1 以上 100 以下の整数
・ N ≧ K


9 3 3

ちょっとだけひっかけ問題。何周してちょうどスタート地点に戻っているかはわからない。K * T == N では、1 周してちょうどスタート地点に戻っていることはわかっても、2 周以上した場合には NO が出力されてしまう。

Python
N,K,T = map(int,input().split())
if K * T % N == 0:
    print("YES")
else:
    print("NO")
VBA
NKT = Split(Cells(1, 1), " ")
N = Val(NKT(0))
K = Val(NKT(1))
T = Val(NKT(2))
If K * T Mod N = 0 Then
    Debug.Print "YES"
Else
    Debug.Print "NO"
End If

崖に落ちるか判定

直線上の道があり、最初は X = 0 の地点にいます。この道はX = T + 0.1 の地点で崖になっています。また、 1 歩でX軸方向にK進むことができます。崖に落ちずにN歩進むことはできるでしょうか。

N K T

すべてのテストケースにおいて、以下の条件をみたします。

・ N, K, T は 1 以上 100 以下の整数


2 5 10

単位はセンチメートルなんだろうか。ちょうど 10 センチ手前で止まるとか、結構怖い気がする。

Python
N,K,T = map(int,input().split())
if N * K < T + 0.1:
    print("YES")
else:
    print("NO")
VBA
NKT = Split(Cells(1, 1), " ")
N = Val(NKT(0))
K = Val(NKT(1))
T = Val(NKT(2))
If N * K < T + 0.1 Then
    Debug.Print "YES"
Else
    Debug.Print "NO"
End If

最後に

paiza ランク C 相当の問題でも、そんなに難しくはない。問われている内容的には、小学生の算数で、それをコードで書くことができるか、って感じか。

算数で詰まっていた方でも、ある程度歳を重ねたら問われていること自体は簡単だということに気づく・・・はず?

引き続き、よろしくお願いいたします!

Python学習,Python,paiza

Posted by LeoSaki