Вывести на экран чётные положительные степени числа 2, не большие, чем 2^n - C (СИ)
Формулировка задачи:
Входные данные
Входная строка содержит одно натуральное число N.Выходные данные
Программа должна вывести в одну строчку через пробел чётные положительные степени числа 2, не большие, чем 2N, в порядке убывания. Если таких нет, программа должна вывести число 0.Примеры
Входные данные |
Выходные данные |
9 | 256 64 16 4 |
- #include <stdio.h>
- int main() {
- int n;
- scanf("%d", &n);
- if (n < 3)
- putchar('0');
- else {
- int i, j;
- unsigned long long pow = 2ULL;
- for (i = n - 1; i > 1; --i)
- if (!(i & 1)) {
- for (j = 0; j < i - 1; ++j)
- pow *= 2ULL;
- printf("%llu ", pow);
- pow = 2ULL;
- }
- }
- putchar('\n');
- return 0;
- }
Решение задачи: «Вывести на экран чётные положительные степени числа 2, не большие, чем 2^n»
- for(;!(n<2);n-=2)
Объяснение кода листинга программы
В данном коде используется цикл for, который выполняется до тех пор, пока условие не станет истинным, то есть пока n < 2 не станет истинным. Внутри цикла присутствует оператор вычисления остатка от деления (!(n<2)). Этот оператор возвращает 1, если n меньше 2, и 0 в противном случае. То есть, цикл будет выполняться до тех пор, пока n не станет чётным. Далее, в теле цикла присутствует операция уменьшения n на 2 (n-=2). Это означает, что после каждой итерации цикла значение n будет уменьшаться на 2. Таким образом, код будет выполнять следующие действия:
- Начать выполнение цикла.
- Пока n не чётное, выполнять следующие действия: a. Уменьшить n на 2.
- После каждой итерации цикла проверять, является ли n чётным. Если да, то выполнение цикла прекращается и происходит переход к следующему шагу.
- Вывести на экран чётные положительные степени числа 2, не большие, чем 2^n. Важно отметить, что в данном коде нет вывода на экран внутри цикла, поэтому он будет выполняться бесконечно, пока не будет остановлен пользователем или не закончится выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д