Вывести ряд чисел в диапазоне с шагом

ЗАДАЧА

Вывести на экран ряд натуральных чисел от минимума до максимума с шагом. Например, если минимум 10, максимум 35, шаг 5, то вывод должен быть таким: 10 15 20 25 30 35. Минимум, максимум и шаг указываются пользователем (считываются с клавиатуры).

Для решения данной задачи лучше всего использовать цикл со счетчиком (for), если в нем можно использовать шаг. Такие циклы есть в языках Basic, КуМир и Си. В Python for является циклом перебора, а не циклом со счетчиком, однако данная задача легко решается с помощью for, если использовать функцию range(). В Pascal цикл for не предусматривает использование шага, поэтому задачу проще решить с помощью иных циклов.

Алгоритм же решения очень прост: пока минимум не достигнет максимума выводить его на экран и затем увеличивать на значение шага.

Pascal



var a,b,c: word;
begin
readln(a);
readln(b);
readln(c);
while a<=b do begin
write(a,' ');
a := a+c;
end;
writeln;
end.



6
162
16
6 22 38 54 70 86 102 118 134 150

Поскольку в Паскале нет возможности указывать шаг в цикле for и в теле цикла нельзя менять переменную-счетчик, то проще решить данную задачу с помощью цикла while.

Язык Си


#include

main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
for (a;a<=b;a+=c) printf("%d ", a);
printf("\n");
}



300
800
45
300 345 390 435 480 525 570 615 660 705 750 795

Python



a = int(input())
b = int(input())
c = int(input())
for i in range(a,b+1,c):
print(i, end=' ')

print()



7
177
17
7 24 41 58 75 92 109 126 143 160 177

Функция range(a,b) генерирует числа от a до b (не включая b, поэтому в программе ниже прибавляется 1). Если указан третий аргумент, то он играет роль шага.

КуМир


алг диапазон
нач
цел a,b,c
ввод a,b,c
нц пока a <= b
вывод a, " "
a := a + c
кц
кон



40 89 4
40 44 48 52 56 60 64 68 72 76 80 84 88

Basic-256


input a
input b
input c
for i = a to b step c
print i+" ";
next i



3
333
33
3 36 69 102 135 168 201 234 267 300 333

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Pascal


var a,b,c: word;
begin
readln(a);
readln(b);
readln(c);
while a
Язык Си

#include

main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
for (a;a
Python


a = int(input())
b = int(input())
c = int(input())
for i in range(a,b+1,c):
print(i, end=' ')

print()



7
177
17
7 24 41 58 75 92 109 126 143 160 177

Функция range(a,b) генерирует числа от a до b (не включая b, поэтому в программе ниже прибавляется 1). Если указан третий аргумент, то он играет роль шага.
КуМир

алг диапазон
нач
цел a,b,c
ввод a,b,c
нц пока a
Basic-256

input a
input b
input c
for i = a to b step c
print i+" ";
next i



3
333
33
3 36 69 102 135 168 201 234 267 300 333