2 / 2 / 0
Регистрация: 08.12.2015
Сообщений: 210
1

Задача с циклом For

11.10.2018, 01:00. Показов 46611. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны целые неотрицательные числа a, b, c, d, при этом 0≤c<d. Выведите в порядке возрастания все числа от a до b, которые дают остаток c при делении на d.

Входные данные
Вводятся четыре целых числа a, b, c и d.

Выходные данные
Выведите ответ на задачу. Если таких чисел в указанном интервале нет, то ничего выводить не нужно.

Примеры
Входные данные


2
5
0
2

Выходные данные

2 4

Python
1
2
3
4
5
6
7
a = int(input())
b = int(input())
c = int(input())
d = int(input())
for i in range (a, b+1):
  if i % d == c:
    print (i, end = ' ')
Помогите написать программный код, не используя if. Никак не получается, целый день на это убила ((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2018, 01:00
Ответы с готовыми решениями:

Задача с циклом For
Есть такая задача, вроде простая, но когда я задавал ранг, то у меня выдавало ошибку.(

Задача с циклом
Пользуясь циклом, вывести полный текст песни на экран, если один куплет имеет следующий вид: &lt;&lt; X...

Задача про спортсмена с циклом while
Создать программу, используя цикл с условием (while), согласно заданию, указанному в таблице. Ввод...

Задача с циклом while
Очень секретное место, это Поле чудес! Лиса и Кот согласились отвести туда Буратино только с...

4
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
11.10.2018, 09:09 2
Можно использовать функцию filter для списка. Типа такого:
Python
1
2
lst = [i for i in range(a, b+1)]
print(list(filter(lambda x: x%d == c, lst)))
Добавьте сортировку только, но, если a < b (как в моем коде), он не нужна, так как список и так будет отсортирован.
0
2 / 2 / 0
Регистрация: 08.12.2015
Сообщений: 210
11.10.2018, 10:03  [ТС] 3
ioprst, а можно как-то без списка? Просто мы это еще не проходили.
Может можно границы в range как-то поменять и шаг добавить? Я пыталась это сделать, но не вышло((
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
11.10.2018, 10:23 4
Можно так:
Python
1
2
3
4
res = ''
for i in range(a, b+1):
    res += str(i)*(i%d == c) + ' '
print(res.rstrip())
Условие возвращает True (1) или False (0). Если умножить строку (наше число) на 1, будет та же самая строка, если на 0, будет пустая строка. Складываем все эти произведения (результат каждого произведения - строка) в одну строку. И выводим, удалив лишний пробел в конце строки.
1
2 / 2 / 0
Регистрация: 08.12.2015
Сообщений: 210
11.10.2018, 13:48  [ТС] 5
ioprst, спасибо)
Жаль только, что выходит частичное решение. Просто в некоторых случаях выводится то, что превышено максимальное время работы.

Добавлено через 3 часа 6 минут
А можно еще как-нибудь, чтобы время работы программы затрачивалось меньше?
0
11.10.2018, 13:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2018, 13:48
Помогаю со студенческими работами здесь

Задача с циклом While
Здравствуйте уважаемые участники этого форума! Помогите пожалуйста со следующим заданием: ...

Задача со со списками и циклом for
Напиши программу, которая изменяет исходный список с элементами так, что первый элемент нового...

Задача с циклом while и массивами
Помогите решить задание 1. Дано целое число М. Нужно найти наименьшее целое отрицательное число k,...

Задача с детерминированным циклом

Задача с итерационным циклом

Задача с циклом
Вычислить функцию f =3m+1, для m из интервала с шагом m

Задача с циклом while
Нужно организовать беспрерывный ввод чисел с клавиатуры до тех пор, пока пользователь не введет 0....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru