Собранные деньги - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Папа Карло подарил Буратино 1 золотой Цехин на его первый день рождения, а экономный Буратино положил подарок в банке. Каждый следующий год папа Карло удваивал свой предыдущий подарок и прибавлял к нему столько цехинов, сколько лет исполнилось Буратино, а тот, в свою очередь продолжал составлять золотые в банке. На какой N-й день рождения в банке будет не менее S цехинов? Объяснение: на первый день рождения Буратино подарили один золотой, на второй 2 * 1 + 2 = 4, их стало 5, а на третий 2 * 4 + 3 = 11, и их стало 16> 15.
program cehiny;
 
uses crt;
var s:real;
n,k,r,i:byte;
BEGIN
write('ввести год рождения n=>');
readln(n);
s:=0;
for i:=1 to n do
begin
k:=n*2;
r:=k+2;  
 s:=k+r;
 s:=s+1;
 end;
 writeln(s:5:0);
 readln
 
END.
второй и третий день получаются, а вот с первым днем проблема

Решение задачи: «Собранные деньги»

textual
Листинг программы
program cehiny;
uses crt;
var s,k,i,sum:integer;
BEGIN
    write('введите количество цехинов ');
    readln(s);
    k:=1;i:=1;sum:=k;
    while sum<s do
     begin
      inc(i);
      k:=k*2+i;
      sum:=sum+k;
     end;
    writeln('не менее ',s,' цехинов в банке станет на ',i,' день рождения');
    readln
END.

Объяснение кода листинга программы

  1. Объявление переменных: s, k, i, sum (строка 5)
  2. Ввод количества цехинов (строка 7)
  3. Инициализация переменных k=1, i=1, sum=1 (строка 8)
  4. Запуск цикла while, который выполняется до тех пор, пока сумма цехинов (sum) меньше введенного количества (s) (строка 9)
  5. Внутри цикла увеличение i на 1 (строка 10)
  6. Увеличение k на 2*i и i на 1 (строка 11)
  7. Добавление k к сумме (sum) (строка 12)
  8. Вывод сообщения о том, что не менее s цехинов в банке станет на i день рождения (строка 13)
  9. Чтение из файла (строка 14)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы