Pythonに3つの連続したオッズが存在するかどうかをチェックするプログラム
numsという配列があるとすると、numsに3つの連続した奇数があるかどうかを確認する必要があります。
したがって、入力がnums =[18,15,2,19,3,11,17,25,20]のようである場合、3つの連続したオッズ[3,11,17]があるため、出力はTrueになります。
これを解決するには、次の手順に従います-
-
長さ:=numsのサイズ
-
長さが1と同じか、長さが2と同じ場合、
-
Falseを返す
-
-
それ以外の場合
-
0からnums-3のサイズのiの場合、実行
-
nums [i]、nums [i + 1]、nums [i + 2]がすべてオッズの場合、
-
Trueを返す
-
-
-
-
Falseを返す
例(Python)
理解を深めるために、次の実装を見てみましょう-
def solve(nums): length=len(nums) if length==1 or length ==2: return False else: for i in range(len(nums)-2): if nums[i] % 2 != 0 and nums[i+1] % 2 != 0 and nums[i+2] % 2 != 0: return True return False nums = [18,15,2,19,3,11,17,25,20] print(solve(nums))
入力
[18,15,2,19,3,11,17,25,20]
出力
True
-
ポイントをチェックするプログラムがPythonで凹多角形を形成しているかどうか
多角形の外側の点が時計回りにあるとします。これらの点が凸多角形を形成しているかどうかを確認する必要があります。ポリゴンの内角のいずれかが180°より大きい場合、ポリゴンは凹面であると言われます。 この図から、3つの連続するポイントごとに、CDEを除いて内角が180°以下であることが明らかです。 したがって、入力がpoints =[(3,4)、(4,7)、(7,8)、(8,4)、(12,3)、(10,1)、(5,2 )]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=ポイントのサイズ 0からポイントのサイズまでの範囲のiについては、 1の場
-
ポイントをチェックするプログラムがPythonで凸包を形成しているかどうか
ポリゴンの外側の点が時計回りにあるとします。これらの点が凸包を形成しているかどうかを確認する必要があります。 この図から、3つの連続するポイントごとに内角が180°以下であることが明らかです。したがって、すべての角度が180°以下の場合、ポリゴンは凸包になります。 したがって、入力がpoints =[(3,4)、(4,7)、(7,8)、(11,6)、(12,3)、(10,1)、(5,2 )]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=ポイントのサイズ 0からポイントのサイズまでの範囲のiについては、 1の場合はpoints[i-2]、