整数の配列を取り、積が偶数である数値のペアが存在する場合に true を返す関数を作成するにはどうすればよいですか?
偶数の整数の性質は何ですか? そしてもちろん、この関数を Java でどのように記述しますか? また、実際の実装のためのアルゴリズムの定式化にどのように取り組んだかについての簡単な説明かもしれません. これは本からのものですが、私は説明を学ぼうとしているだけです。
整数のペアは、それらの少なくとも1つが偶数である場合、常に偶数の積を生成します。両方が奇数の場合、偶数の製品を生成することはできません。したがって、配列に少なくとも1つの偶数があるかどうかを確認する必要があります。
これは数学的な概念であり、偶数に他の数を掛けたものが偶数であるという既知の事実です。したがって、配列内のいずれかの数値が偶数の場合は、trueを返すだけです。
他の人が指摘しているように、偶数が1つあれば十分です。
偶数が見つかるまで、または配列の末尾が見つかるまで反復するだけでよく、その場合は偶数がありません。
public static boolean hasEvenNumber(int[] vals) {
int i = 0;
while(i < vals.length) {
if(vals[i] % 2 == 0) {
return true;
}
i++;
}
return false;
}
アルゴリズムは非常に単純です。
整数の配列に存在する単一の偶数が必要です。
偶数と奇数/偶数の倍数は偶数になるためです。したがって、偶数がある場合はtrueを返すことができます。
Javaでは、
public static int has_even_pair(int [ ] values,int n) //method definition to find sum
{
int i;
for(i=0; i< n; i++)
{
if (values[i] % 2 == 0 )
{
return 1;
}
}
return 0 ;
}