Дано число а, равное пяти. Новое число получается, если предыдущее число увеличить в три...

0 голосов
45 просмотров

Дано число а, равное пяти. Новое число получается, если предыдущее число увеличить в три раза, затем к результату прибавить четыре и от полученного числа отнять предыдущее число. Таким образом, получили последовательность тридцати целых чисел (включая первое число пять). Найдите их сумму.


Информатика (12 баллов) | 45 просмотров
Дан 1 ответ
0 голосов

Var a:array [1..30] of int64;
i:integer;
sum:int64;
begin
a[1]:=5;
write ('Массив: ',a[1],' ');
for i:=2 to 30 do
begin
a[i]:=(a[i-1]*3+4)-a[i-1];
write (a[i],' ');
end;
sum:=0;
for i:=1 to 30 do
begin
sum:=sum+a[i];
end;
WRITELN;
write ('Сумма = ',sum);
end.

Текстовое решение:
Массив: 5 14 32 68 140 284 572 1148 2300 4604 9212 18428 36860 73724 147452 294908 589820 1179644 2359292 4718588 9437180 18874364 37748732 75497468 150994940 301989884 603979772 1207959548 2415919100 4831838204

Сумма = 9663676287

(10.7k баллов)
0

У Вас при решении произошло переполнение разрядной сетки. Значение 1207959548 еще верное, два последующих - нет. Число -1879048196 стало отрицательным, а следующее за ним оказалось меньше предшественника (1207959548).

0

Вам нужно сделать следующее объявление:
var a:array [1..30] of int64;
i:integer;
sum:int64;
Тогда получите верное решение:
Массив: 5 14 32 68 140 284 572 1148 2300 4604 9212 18428 36860 73724 147452 294908 589820 1179644 2359292 4718588 9437180 18874364 37748732 75497468 150994940 301989884 603979772 1207959548 2415919100 4831838204
Сумма = 9663676287

0

хм.. на PACB появляется "Ошибка: неизвестное имя типа "int64"". Правильно понимаю что только в PABC.NET работает?

0

Правильно. В longint/integer помещается максимум 2^31-1

0

Меня удивляет, когда люди умудряются еще в Pascal.ABC что-то делать - с официального сайта его уже сто лет нельзя скачать, а учитывая, что версия ABC.Net тоже свободно распространяемая - и смысла нет качать старую.

0

Спокойно качается с официального сайта)

0

Просто АВС качается, не ABC.Net? Странно, ЮФУшники писали, что тот проект закрыт....

0

Хоть проект и закрыт, но ссылка на последнюю версию 3.0.1 от 17.03.07 на сайте есть.

0

Понятно, спасибо. Хотя, установив .Net, не вижу смысла в старой, намного более "дохлой" версии.