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

ループを使用しない印刷番号シリーズのPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します-

問題の説明 − 2つの数NとKが与えられた場合、問題は、数(N)がゼロ(0)より大きくなるまでNから数Kを引くことです。Nが負またはゼロになると、その数が元の番号(N)。

たとえば、

N = 10
K = 4
Output will be: 10 6 2 -2 2 6 10

アルゴリズム

1. we call the function again and again until N is greater than zero (in every function 
   call we subtract K from N ).
2. Once the number becomes negative or zero we start adding K in each function call 
   until the number becomes the original number.
3. Here we used a single function for purpose of addition and subtraction but to switch 
   between addition or subtraction function we used a Boolean type variable flag.

それでは、Pythonでの実装を見てみましょう

def PrintNumber(N, Original, K, flag):
   #print the number
   print(N, end = " ")
   #if number become negative
   if (N <= 0):
      if(flag==0):
         flag = 1
      else:
         flag = 0
   if (N == Original and (not(flag))):
      return
   # if flag is true
   if (flag == True):
      PrintNumber(N - K, Original, K, flag)
   return
   if (not(flag)):
      PrintNumber(N + K, Original, K, flag);
   return
N = 10
K = 4
PrintNumber(N, N, K, True)

出力

10 6 2 -2 2 6 10

ここでは、下の画像に示すように、すべての変数がグローバル名前空間で宣言されています-

ループを使用しない印刷番号シリーズのPythonプログラム

結論

この記事では、Python3.xでループ構造を使用せずに数列を出力するための用語について学習しました。またはそれ以前。


  1. n番目のフィボナッチ数のPythonプログラム

    この記事では、n番目のフィボナッチ数を計算します。 フィボナッチ数 以下に示す漸化式によって定義されます- Fn = Fn-1 + Fn-2 あり F 0 =0およびF1 =1。 まず、フィボナッチ数はほとんどありません 0,1,1,2,3,5,8,13,.................. フィボナッチ数を計算できます 再帰と動的計画法の方法を使用します。 それでは、Pythonスクリプトの形式での実装を見てみましょう アプローチ1:再帰方法​​ 例 #recursive approach def Fibonacci(n):    if n<0: &

  2. n番目のカタラン数のPythonプログラム

    この記事では、n番目のカタラン数の計算について学習します。 カタラン数 再帰式-によって定義される自然数のシーケンスです。 $$ C_ {0} =1 \:and \:C_ {n + 1} =\ displaystyle \ sum \ Limits_ {i =0} ^ n C_ {i} C_ {n-i} for \:n \ geq0; $$ n =0、1、2、3、…の最初のいくつかのカタラン数は 1、1、2、5、14、42、132、429、..............です。 .... カタラン数は、再帰と動的計画法の両方で取得できます。その実装を見てみましょう。 アプローチ1:再