- Код: Выделить всё
var N : integer;
i, sum : integer;
begin
Write('Введите N '); Readln(N);
sum:=0;
for i:=1 to N do sum:= sum + i;
Write('С = ',sum); Readln;
end.
Почему с маленькими числами все ок, а на 100, например, уже неправильный ответ?
Модераторы: Oleg_D, Модераторы
var N : integer;
i, sum : integer;
begin
Write('Введите N '); Readln(N);
sum:=0;
for i:=1 to N do sum:= sum + i;
Write('С = ',sum); Readln;
end.
[doj@korica ~/temp]$ cat sum.pp
var N : integer;
i, sum : integer;
begin
Write('Введите N '); Readln(N);
sum:=0;
for i:=1 to N do sum:= sum + i;
Write('С = ',sum); Readln;
end.
[doj@korica ~/temp]$ fpc sum.pp && ./sum
Введите N 100
С = 5050
Лекс Айрин писал(а):а почему вычисление идет не по формуле, а напрямую?
Дож писал(а):У меня правильный ответ
По какой такой формуле? Поясните, пожалуйста. Я новичек еще.
Ariman писал(а):P.S. Кстати, это код из книги с ответами.
Лекс Айрин писал(а):Ariman писал(а):P.S. Кстати, это код из книги с ответами.
Решение в книге не обязательно единственно верное. В данном случае оно слишком ресурсоемкое. Вот я и спросил есть ли для этого причина.
Дож, именно эту формулу я и имел ввиду.
Вернуться в Книга "Песни о Паскале"
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3