Переменной T присвоить значение TRUE или FALSE - C#
Формулировка задачи:
Переменной T присвоить значение TRUE или FALSE в зависимости от того, есть или нет среди элементов массива X, содержащего n целых чисел, не менее двух степеней двойки. Идеи кончились, буду благодарен любой подсказке.
Пока дошёл только до этого:
Листинг программы
- class Program
- {
- static void Main(string[] args)
- {
- const int n = 6;
- // int ch;
- int[] x = new int[n] {1, 2, 7, 9, 11, 13 };
- Console.WriteLine("Исходный массив:");
- for (int i = 0; i <= n - 1; ++i)
- Console.Write(" " + x[i]);
- int num = 0;
- bool t = false;
- for (int i = 0; i <= n - 1; i++)
- {
- {
- int p = (int)Math.Pow(2, i);
- if (x[i] == p)
- {
- ++num;
- }
- }
- if (num >= 2)
- {
- t = true;
- break;
- }
- }
- Console.WriteLine(t);
- Console.ReadKey(true);
- }
- }
- }
Решение задачи: «Переменной T присвоить значение TRUE или FALSE»
textual
Листинг программы
- bool isPowerOfTwo( uint x )
- {
- return ((x != 0) && ((x & (~x + 1)) == x));
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д