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

Pythonで最初のn個の自然数を持つ配列を増加または減少させる右回転フォームをチェックするプログラム


numsと呼ばれる数値のリストがあり、n個の要素が存在するとします。 [1、2、...、n]や[n、n-1、...、1]のように、シフトによって最初のn個の自然数を増加または減少させてリストを作成できるかどうかを確認する必要があります。右に何回でも数字が表示されます。

したがって、入力がnums =[5,6,1,2,3,4]のような場合、出力はTrueになります。これは、それらを4回シフトして、配列[1,2,3,4、 5,6]

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

  • n:=numsのサイズ
  • 1からn-1の範囲のiの場合、do
    • if | nums [i --1] --nums [i] | 1ではなく|nums[i --1] --nums [i] | n-1ではない場合
      • Falseを返す
  • Trueを返す

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

def solve(nums):
   n = len(nums)
   for i in range(1, n):
      if abs(nums[i - 1] - nums[i]) != 1 and abs(nums[i - 1] - nums[i]) != n - 1:
         return False
   return True

nums = [5,6,1,2,3,4]
print(solve(nums))
を返します

入力

[5,6,1,2,3,4]

出力

True

  1. 最初のn個の自然数の二乗和のためのPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として正の整数Nが与えられます。 12 + 22 +32+…..+N2の値を計算する必要があります。 問題の説明:これは2つの方法で解決できます 乗算加算演算 数式を使​​用する アプローチ1:乗算と加算の算術 ここでは、1からnまでのループを実行し、各iについて、1 <=i <=n、i2を見つけて、smに追加します。 例 def sqsum(n) :    sm = 0    for i in range(1, n+1) : &nbs

  2. 最初のn個の自然数の立方和のためのPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −入力nが与えられた場合、シリーズ13 + 23 + 33 +43+……。+n3の合計をn番目の項まで出力する必要があります。 ここでは、問題ステートメントの解決策に到達するための2つのアプローチについて説明します- ループを使用した強引なアプローチ。 n個の数の合計の数学的解。 アプローチ1 -数値を繰り返して加算することにより、各項の合計を計算する 例 def sumOfSeries(n):    sum = 0    for i in