Вывести все числа (от 1 до 300), которые делятся ТОЛЬКО на 2 или 5

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
fss1994
Сообщения: 1
Зарегистрирован: 22 окт 2013, 23:16

Помогите, пожалуйста!
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

1. Число N делится на M, если остаток от деления N на M равен нулю.

2. Для получения остатка от деления в С++ используется символ процента. Иными словами конструкцию выглядит так: N % M. Её нужно сравнить с нулём.

3. Для написания сложного условия в C++ используются операторы ! (логическое отрицание), && (логическое и), || (логическое или).

4. Для проверки на делимость всех чисел от 1 до 300 следует организовать цикл. В данном случае будет наиболее приемлем цикл for. Он будет выглядеть следующим образом: for (int i = 0; i < 300; ++i). Тело цикла будет выполнено 300 раз, при чём счётчик i изменится от 0 до 299. Им можно будет воспользоваться в теле цикла.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Можно поступить гораздо более стебно.
1. Взять массив целых чисел, не больших 150.
2. Перебирать их все в цикле:
2.1. Каждое очередное число умножить на 2 и на 5.
2.2. Каждый из полученных на шаге 2.1 результатов добавить в выходной массив, если они не больше 300.
3. Отсортировать выходной массив, исключить из него повторы.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Romeo, Хыиуду, по-моему нужно обратить внимание, на слова "ТОЛЬКО на 2 или 5"
Т.е. они должны делится только на эти числа (или на оба) и не на какие другие. Таких чисел не так много, между прочим.
Это 2, 5 и 10 - всего три числа. Они делятся только на 2 или 5 (и на само себя конечно же). Остальные (например 15) делятся НЕ только на 2 или 5.
:D
It's a long way to the top if you wanna rock'n'roll
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Хитро :)
В таком случае, программа такова:

Код: Выделить всё

void main() {
printf("2 5 10");
}
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Я тоже пропустил слово ТОЛЬКО. Если оно там не случайно, то программа действительно трёхстрочная :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить