Вычислить 1+2+4+8+...+210 Нужно написать программу в паскале.

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

Вычислить 1+2+4+8+...+210
Нужно написать программу в паскале.


Информатика (24 баллов) | 241 просмотров
0

может последнее число 216?

0

Алгоритм:

0

216=2^8; k:=1; for i:=1 to 7 do k:=k+k*2;

Дан 1 ответ
0 голосов

Var a,x:integer;
begin
for a:=0 to 210 do
if (a mod 2=0) or (a=1) then
x:=a+x;
writeln(x);
end.

(2.7k баллов)
0

это не существенный недочет, тк ответ из-за него не изменился. Базовое значение любой переменной (если её не задать) итак 0

0

программа неправильная, она будет суммировать все четные числа: 1+2+4+6+8+10+..., а там в условии 6 не нужна, скорее всего также как и 10 и т.д.

0

уточни пожалуйста условие там последнее число точно 210? может все-таки 216?

0

да, вы правы. 6ти там нету. ну тогда задача не получается!

0

опа

0

Скорее всего прогрессия следующая : 1+2+4+8+16+32+....+210;

0

И решение выглядит так: var i,s,a,n :integer;
begin
writeln('Введите конечное число');
readln(n);
s:=0;
a:=1;
for i:=1 to n do
begin
s:=s+a;
a:=2*a;
end;
writeln('Сумма ряда : s= ',s)
end.

0

Немного накосорезил ,не конечное число ,а кол-во шагов. Как ограничить конечным числом чёт не соображу, еще учусь.

0

да ладно, 10 недель назад было, чего паришься?)

0

автор вопроса уж сам забил давно