- Код: Выделить всё
- 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. Кстати, это код из книги с ответами.
Решение в книге не обязательно единственно верное. В данном случае оно слишком ресурсоемкое. Вот я и спросил есть ли для этого причина.
Дож, именно эту формулу я и имел ввиду.
Вернуться в Книга "Песни о Паскале"
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1