|
Вопрос # 4 396/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
имеется ряд 1..N.
необходимо четные числа из этого ряда сложить, нечетные умножить.
help
 |
Вопрос задал: габибыч (статус: Заблокирован)
Вопрос отправлен: 8 июля 2010, 14:33
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Цитата (габибыч):
у меня обычный ряд(например 1..5 (т.е. 1,2,3,4,5)). мне надо перемножить нечет члены (1*3*5) и сложить чет (2+4) но я не умею их разделять на чет и нечет
Это я тебе маленький ненавязчивый ликбез провел на тему "как правильно задавать вопросы по программированию". Правильная и однозначная формулировака задачи = 50% готового решения.
А теперь по делу:
// необходимо четные числа из этого ряда сложить, нечетные умножить.
procedure Calculate(const N: Cardinal; var EvenSum, OddMult: Int64);
var
Index: Cardinal;
begin
EvenSum:= 0;
OddMult:= 0;
if N = 0
then Exit;
OddMult:= 1;
for Index:= 1 to N do
if Odd(Index)
then OddMult:= OddMult * Index // Произведение нечётных
else EvenSum:= EvenSum + Index; // Сумма чётных
end;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 8 июля 2010, 15:23
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 17; последнее сообщение — 8 июля 2010, 22:17; участников в обсуждении: 3.
|
min@y™ (статус: Доктор наук), 8 июля 2010, 14:43 [#1]:
Где общая формула членов ряда?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 14:45 [#2]:
формулы нет. просто упорядоченный набор цифр от 0 до N (N я как понял из условия задается). мне нужен алгоритм разделения чисел на чет и нечет
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 14:46 [#3]:
читать от 1..N
|
|
min@y™ (статус: Доктор наук), 8 июля 2010, 14:49 [#4]:
Цитата (габибыч):
просто упорядоченный набор цифр от 0 до N
Так от 0 или от 1? Ты уж определись.
Упорядоченный как? Порядок следования членов ряда может быть разным и задаётся общей формулой, типа:
mi = i! / m или mi = mi-1 + mi-2 (ряд Фибоначчи).
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 14:53 [#5]:
от 1, написал же.
порядок следования - через число (напр. если нечет, тогда 1,3,5...). я не могу разбить ряд на чет и нечет
|
|
min@y™ (статус: Доктор наук), 8 июля 2010, 14:56 [#6]:
Нихрена непонятно. Если у тебя ряд 1, 3, 5, ... , N, то все числа нечтные.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 15:02 [#7]:
..)) это на твой вопрос - "Упорядоченный как? Порядок следования членов ряда может быть разным и задаётся общей формулой, типа"
у меня обычный ряд(например 1..5 (т.е. 1,2,3,4,5)).
мне надо перемножить нечет члены (1*3*5) и сложить чет (2+4)
но я не умею их разделять на чет и нечет
иду на семинар, потом будим...
|
|
Тов. Женька (статус: 3-ий класс), 8 июля 2010, 17:25 [#8]:
Подели число на два. Если без остатка делится, то четное.
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 21:42 [#9]:
min@y™ , все хорошо, но как выводить результат на экран?
вместо N подставлять число?
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 21:44 [#10]:
Тов. Женька "Подели число на два. Если без остатка делится, то четное. "
- понятное дело, а как кодом это написать, вот в чем вопрос)
|
|
min@y™ (статус: Доктор наук), 8 июля 2010, 21:45 [#11]:
Цитата (габибыч):
все хорошо, но как выводить результат на экран? вместо N подставлять число?
Это смотря какое у тебя приложение. Консольное? GUI? Я написал функцию. Воспользуйся ею в любом случае. Результаты можно выводить куда угодно, хоть посылать по e-mail.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 8 июля 2010, 21:46 [#12]:
Цитата (габибыч):
а как кодом это написать, вот в чем вопрос
число делится на 2, если X mod 2 = 0.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 21:50 [#13]:
min@y™ , а без процедуры эту задачу можна решить?
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 21:51 [#14]:
число делится на 2, если X mod 2 = 0.
точно) чо то туплю)
|
|
min@y™ (статус: Доктор наук), 8 июля 2010, 21:57 [#15]:
Цитата (габибыч):
а без процедуры эту задачу можна решить?
Да.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Тов. Женька (статус: 3-ий класс), 8 июля 2010, 22:05 [#16]:
Более того, можно и без функции!
|
|
габибыч (статус: Заблокирован), 8 июля 2010, 22:17 [#17]:
все понял. блин мне чуть-чуть не хватило...
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|