Проверка на четность без использования условного оператора - C#
Формулировка задачи:
Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров: A N , A N–2 , A N–4 , …, A 1 . Условный оператор не использовать.
Это все что смог сделать, не могу даже представить как проверить на четность без операторов условия.
Помогите пожалуйста.
И еще вопрос, можно ли отнести цикл for к условным конструкциям? Можно ли реализовать данную задачу без использования циклов?
class Program
{
static void Main(string[] args)
{
Array array = new Array(10);
array.Print();
array.Reverse();
array.Print();
array.Positive();
array.Print();
Console.ReadKey();
}
}
class Array
{
Random rand = new Random();
int[] A;
int size;
int[] CopyA;
public Array(int size)
{
this.size = size;
A = new int[size];
CopyA = new int[size];
for (int i=0;i<size;i++)
{
A[i] = i;
}
}
public void Reverse()
{
int last=size-1;
for (int i=0;i< size;i++)
{
CopyA[i] = A[last];
last--;
}
for (int i = 0; i < size; i++)
{
A[i] = CopyA[i];
}
}
public void Positive()
{
for (int i = 0; i < size; i++)
{
A[i] =(byte)(A[i]<<7);
}
}
public void Print()
{
for (int i=0;i<size;i++)
{
Console.Write(A[i]+" ");
}
Console.WriteLine();
}
}Решение задачи: «Проверка на четность без использования условного оператора»
textual
Листинг программы
for(int i=1;i<size;i+=2)