Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでジャンプするかどうかによって位置nに到達できることを確認するプログラム


1からnまでの数直線があるとします。最初は位置0にあり、1ステップジャンプして1に進み、次に2桁ジャンプして位置3に到達し、次に3位置ジャンプして6に到達します。これを維持するかどうかを確認する必要があります。位置nに到達できるかどうか。

したがって、入力がn =21の場合、1 + 2 + 3 + 4 + 5 + 6 =21

であるため、出力はTrueになります。

これを解決するには、次の手順に従います-

  • j:=(1 +(1 + 8 * n)の平方根)/ 2
  • if | j --int part of j | <=0、次に
    • Trueを返す
  • それ以外の場合はFalseを返します

理解を深めるために、次の実装を見てみましょう-

from math import sqrt
def solve(n):
   j=(1+sqrt(1+8*n))/2
   if abs(j-int(j))<=0:
      return True
   else:
      return False

n = 21
print(solve(n))

入力

21

出力

True

  1. Pythonでロボットが目標位置に到達できるかどうかをチェックするプログラム

    現在、位置(0、0)(デカルト平面)に座っているロボットがあるとします。 N(北)、S(南)、W(西)、およびE(東)を含む、実行可能な移動のリストがある場合。宛先座標(x、y)に到達できるかどうかを確認する必要があります。 したがって、入力がmoves =[N、N、E、E、S]、(x、y)=(2,1)のような場合、出力はTrueになります。 これを解決するには、次の手順に従います- temp_coord:=[0,0] 移動の移動ごとに、 移動が「N」と同じ場合、 temp_coord [1]:=temp_coord [1] + 1 それ以外の場合、移動が「S」と同じ

  2. 文字列が回文であるかどうかをチェックするPythonプログラム

    文字列が与えられた場合、私たちのタスクは、この文字列が回文であるかどうかを確認することです。 アルゴリズム Step1: Enter string as an input. Step2: Using string slicing we reverse the string and compare it back to the original string. Step3: Then display the result. サンプルコード my_string=input("Enter string:") if(my_string==my_string[::-1]): &nbs