Напечатать столбиком все целые числа от а до b (значения а и b вводятся с клавиатуры) с циклом пока
Ответ нейросети
01 февраля 2026 15:42
Задача: напечатать столбиком все целые числа от a до b, ввод с клавиатуры, используя цикл while.
Пояснение к решению
- Мы читаем два целых числа a и b.
- Чтобы вывести все числа между ними включительно, нужно учесть направление:
- если a <= b, идём по возрастанию: пока a не превысит b, печатаем a и увеличиваем его на 1.
- если a > b, идём по убыванию: пока a не станет меньше b, печатаем a и уменьшаем его на 1.
- Такой подход работает для любых целых a и b и печатает числа в нужном порядке.
- Сложность времени: O(|b - a|), памяти почти нет.
Пошаговый алгоритм
- Ввести a и b с клавиатуры.
- Если a <= b:
- пока a <= b:
- вывести a
- увеличить a на 1
- пока a <= b:
- Иначе (если a > b):
- пока a >= b:
- вывести a
- уменьшить a на 1
- пока a >= b:
- Готово.
Примеры
- Ввод: a = 3, b = 7 Вывод: 3 4 5 6 7
- Ввод: a = 7, b = 3 Вывод: 7 6 5 4 3
Код на популярных языках
Python (самый простой для школьников) a = int(input()) b = int(input())
if a <= b: while a <= b: print(a) a += 1 else: while a >= b: print(a) a -= 1
C (C11) #include <stdio.h>
int main(void) { int a, b; if (scanf("%d", &a) != 1) return 0; if (scanf("%d", &b) != 1) return 0;
if (a <= b) {
while (a <= b) {
printf("%d\n", a);
a++;
}
} else {
while (a >= b) {
printf("%d\n", a);
a--;
}
}
return 0;
}
Java import java.util.Scanner;
public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt();
if (a <= b) {
while (a <= b) {
System.out.println(a);
a++;
}
} else {
while (a >= b) {
System.out.println(a);
a--;
}
}
sc.close();
}
}
Пояснение к коду
- Ввод осуществляется через стандартный ввод.
- В каждом случае печатается текущее значение a, после чего a изменяется на 1 (если растём) или на -1 (если идём убыванием).
- Условия a <= b и а > b обеспечивают корректную работу независимо от порядка входных значений.
Если хочешь, могу адаптировать решение под другие языки или ограничить вывод только слепо на возрастание (то есть не учитывать случай a > b).
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



