Вопрос № 49301: Здравствуйте, есть задачка:
Допустим, дано натуральное число N.
Вычислить: 1*2 + 2*3*4 + N*…*2N
Как так сделать?...
Вопрос № 49.301
Здравствуйте, есть задачка:
Допустим, дано натуральное число N.
Вычислить: 1*2 + 2*3*4 + N*…*2N
Как так сделать?
Отправлен: 16.07.2006, 19:56
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Решетник Д
Здравствуйте, ataman!
result := 0;
for i := 1 to n do
begin
s := 1;
for j := i to 2*i do
s := s*j;
inc(result, s);
end;
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 10-ый класс)
Ответ отправлен: 16.07.2006, 20:18 Оценка за ответ: 5
Отвечает: Томша Павел
Здравствуйте, ataman!
Задача интересная, но ничем помочь не могу кроме одного - если все-таки решите программу делать напролом (не найдете никакого алгоритма), то используйте процедуру Inc() вместо плюсов, тем самым несколько ускорите программу. Кстати, ваша программа выдает 0, т.к. слишком большие числа, с этим можно бороться только длинной арифметикой (запись числа в массив или строку). Удачи!
Приложение:
Ответ отправил: Томша Павел (статус: 1-ый класс)
Ответ отправлен: 16.07.2006, 22:02 Оценка за ответ: 5