与えられた3つの数がPythonで隣接する素数であるかどうかを確認します
3つの数があり、それらが隣接する素数であるかどうかを確認する必要があるとします。隣接する素数は、それらの間に他の素数が存在しない素数です。
したがって、入力がnums =[5,7,11]のような場合、出力はTrueになります。
これを解決するには、次の手順に従います-
- これら3つの数字のいずれかが素数でない場合
- Falseを返す
- xの次の素数がyと同じでない場合、
- Falseを返す
- yの次の素数がzと同じでない場合、
- Falseを返す
- Trueを返す
理解を深めるために、次の実装を見てみましょう-
サンプルコード
def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def get_next_prime(num) : next_prime = num + 1 while not isPrime(next_prime): next_prime += 1 return next_prime def solve(x, y, z) : if isPrime(x) == False or isPrime(y) == False or isPrime(z) == False : return False next_prime = get_next_prime(x) if next_prime != y: return False if get_next_prime(y) != z: return False return True nums = [5,7,11] print(solve(*nums))
入力
[5,7,11]
出力
True
-
与えられたブロックのリストがPythonでx=y行に対して対称であるかどうかをチェックするプログラム
numsという番号のリストがあるとします。そして、それは正方形のブロックの高さを表しています。形状がy=xの線上で対称であるかどうかを確認する必要があります。 したがって、入力がnums =[7、5、3、2、2、1、1]のような場合、出力はTrueになります これを解決するには、次の手順に従います。 i:=0 j:=numsのサイズ-1 i <=jの場合、do h:=nums [j] i
-
与えられたグラフがPythonで2部グラフであるかどうかをチェックするプログラム
無向グラフが1つあるとすると、グラフが2部グラフであるかどうかを確認する必要があります。グラフのすべてのエッジ{u、v}がAに1つのノードuを持ち、Bに別のノードvを持つように、グラフのノードを2つのセットAとBに分割できる場合、グラフは2部グラフであることがわかります。 したがって、入力が次のような場合 次に、出力はTrueになり、[0,4]はセットAにあり、[1,2,3]はセットBにあり、すべてのエッジはAからAまたはBからBではなく、AからBまたはBからAになります。 。 これを解決するために、次の手順に従います- 関数dfs()を定義します。これはソースを取ります