Помогите, пожалуйста
Всем доброго времени суток! Такая ситуация: битый час не могу допереть, где я ошибся. Нужно найти сумму точек на всех уровнях, количество которых (уровней) нужно ввести вручную, при том каждый следующий уровень больше предыдущего в два раза. Вот что у меня:
Program schet;
Var a, b : integer;
c: real;
Begin
writeln ('Введите число строк:');
read (b);
for a := 1 to b do
begin
c := power(2,(b-1))+b;
end;
write (c);
end.
Заранее благодарю!
Ответы (1 шт):
Автор решения: Мужчина из Орла
→ Ссылка
Вам надо завести переменную, которая будет считать кол-во точек в строке. И на каждом шаге цикла for увеличивать ее в 2 раза. И еще у вас переменная c имеет тип данных real, лучше сделать её integer, хоть в вашем случае это и не влияет на работу программы.
Program schet;
Var a, b, c, count: integer;
Begin
writeln ('Введите число строк:');
read (b);
count := 1; // Кол-во точек в строке
for a := 1 to b do
begin
c := c + count; // Сумма всех точек
count := count * 2; // Увеличиваем кол-во точек в 2 раза
end;
write (c);
end.
