IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Циклические алгоритмы, Помогите решить к паре!!!!
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Написать программу, которая подчитывает количество чисел кратных k, но некратных l, в диапазоне от m до n.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


x:=0;
for i:=m to n do if (i mod k=0)and(i mod l>0) then Inc(x);


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Цитата(Lapp @ 17.12.2009 2:24) *

x:=0;
for i:=m to n do if (i mod k=0)and(i mod l>0) then Inc(x);




Можно поподробнее вместе с условием с началом программы, я вообще новичок в этом...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Flatterer19 @ 17.12.2009 2:26) *
Можно поподробнее вместе с условием с началом программы, я вообще новичок в этом...
... а я старичок на такое разводиться.
Тебе написана вся функциональная часть программы. Добавь описания, ввод и вывод - и все. Не знаешь, как - бери учебник и вперед.

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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


А если так?
for i:=((m + k - 1) div k) to (n div k) do if (i*k mod l>0) then Inc(x);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(andriano @ 17.12.2009 8:51) *
А если так?
for i:=((m + k - 1) div k) to (n div k) do if (i*k mod l>0) then Inc(x);
А зачем?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(Lapp @ 17.12.2009 9:22) *
А зачем?
Ну, если требуется работать в диапазоне от 0 до МахInt, причем k и l имеют порядок sqrt(MaxInt), то разница, думаю, будет хорошо заметна (по крайней мере, для 32-разрядного компилятора).
В любом случае, компьютер хоть и железный, но вряд ли целесообразно заставлять его делать лишнюю работу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(andriano @ 17.12.2009 19:22) *
В любом случае, компьютер хоть и железный, но вряд ли целесообразно заставлять его делать лишнюю работу.
Гм. Эта "лишняя работа" делается исключительно согласно условию задачи (см. название темы). В противном случае все решается одной формулой вообще без циклов.

В этом ключе - любая учебная задача есть лишняя работа. Хотя, конечно, согласен, что условие лучше давать более разумное. Иначе скоро мы увидим что-нить типа "подсчитать в цикле количество натуральных чисел от одного до 100" smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


1. Предложенный вариант удовлетворяет исходному условию "циклическая задача".
2. Что касается именно учебных задач, то IMHO нужно с самого начала учить программировать правильно, а не сначала учить писать как попало, а потом переучивать. А "правильно" - это значит оптимальным при заданных условиях и ограничениях способом.

Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 18:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name