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

Pythonでお互いを攻撃できないようにn個のルークを配置する方法をいくつか見つけるプログラム


サイズnxnのチェス盤を表す数nがあるとします。お互いに攻撃できないように、n個のルークを配置できる方法の数を見つける必要があります。ここでは、チェス盤の一部のセルが占有されている場合と、セルが占有されていない場合の2つの方法が異なると見なされます。 (ルークが同じ行または同じ列にある場合、ルークは互いに攻撃する可能性があることを私たちは知っています。)

したがって、入力が3のような場合、出力は6になります

Pythonでお互いを攻撃できないようにn個のルークを配置する方法をいくつか見つけるプログラム

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

f=nの階乗

fを返す

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

import math
class Solution:
   def solve(self, n):
      return math.factorial(n)
ob = Solution()
print(ob.solve(3))

入力

3

出力

6

  1. Pythonでお互いを攻撃できないようにn個のルークを配置する方法をいくつか見つけるプログラム

    サイズnxnのチェス盤を表す数nがあるとします。お互いに攻撃できないように、n個のルークを配置できる方法の数を見つける必要があります。ここでは、チェス盤の一部のセルが占有されている場合と、セルが占有されていない場合の2つの方法が異なると見なされます。 (ルークが同じ行または同じ列にある場合、ルークは互いに攻撃する可能性があることを私たちは知っています。) したがって、入力が3のような場合、出力は6になります これを解決するには、次の手順に従います- f=nの階乗 fを返す 理解を深めるために、次の実装を見てみましょう- 例 import math class Solution:

  2. Pythonで昇順で表示できるようにカードを配置するプログラム

    カードのリストがあり、昇順で表示されるようにカードを並べ替えたいとします。ご存知のように、カードは次のように公開されます。1.一番上のカードが削除されて公開され、次のカードが後ろに移動します。 2.カードがなくなるまで、手順1を繰り返します。カードが昇順で表示されるように、カードの順序を見つける必要があります。 したがって、入力がcards =[1、2、3、4、5、6、7、8]の場合、出力は[1、5、2、7、3、6、4、8]になります。 1が削除され、5が後ろに移動すると、現在の状況[2、7、3、6、4、8、5]。 2が削除され、7が後ろに移動され、現在の状況[3、6、4、8、5、7] 3が