Module: for ループ ステートメント。一般的なタスク


Problem

10 /16


全てが最小限ではない

Theory Click to read/hide

最大ではない

入力されたすべての数値の中からではなく、特定の条件を満たす数値の中からのみ最大値 (最小値) を見つける必要がある場合は、最初の数値が最大値の初期値であるという事実を考慮する必要があります。 (最小) が常に要件を満たすとは限りません。

たとえば、最大の負の数を探している場合、データセットは次のとおりです: \(\{5, -2, 4, 2, -1, -3\}\ ) 最大値の初期値で数値 5 を取得します。これは正であり、負の値よりも大きくなります。したがって、条件 X > は次のようになります。 M は常に false になります。

したがって、前の問題からアルゴリズムに負の数のチェックを 1 つだけ追加するだけでは十分ではなく、最初の数が必要な条件を満たさない可能性があるという事実も考慮する必要があります (この場合、負の.

これを修正するには、ループ内に次の条件を追加します:

疑似コード
<プレ> X が負の場合、 M >= 0 または M < の場合X、それから M=X
指定されたコードでは、 M >= 0 条件により、M = X アクションを実行できます。 > 変数には最初、残りの値よりも明らかに大きい値が含まれています (この例では、値は 5 です)。

また、数値の範囲がわかっている場合は、指定された範囲の最小 (最大) 数値を最大 (最小) の初期値として使用できることにも注意してください。

Problem

数値 N および一連の <を指定します。 /span >N 個の数値。 指定された N 個の数値のうち最小の偶数を出力する必要があります。

入力
最初の行には数字 N - 数字の数が含まれています  (\(N<=100\))。 N 個の数値が 1 行に 1 つあります (すべての数値は 10,000 を超えない整数です)。N 個の数値の中には、少なくとも 1 つの偶数があります。
>
インプリント
すべての N 数値の中で最小の偶数を表示します。

 

<頭> <本体>
# 入力 出力
1 5
-2
1
2
3
0
-2