Не особо знаю паскаль, так что дабы не накосячить с синтаксисом, покажу на примере. Тут всё просто - тебе лишь нужен цикл For и расчет процентов.
FOR i = 1 TO 100 percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round) x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет END 'завершаем программу END IF NEXT i ' конец цикла Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.
#include <iostream>
#include <string>
using namespace std;
void makeLevel(int n)
{
cout << "*" << endl;
string out ="**";
for(int level=1;level<=n;++level){
cout << out << endl;
out.push_back('*');
}
}
void tree(int n)
{
for(int i=1;i<=n;++i){
makeLevel(i);
}
}
{
cout << "*" << endl;
string out ="**";
for(int level=1;level<=n;++level){
cout << out << endl;
out.push_back('*');
}
}
void tree(int n)
{
for(int i=1;i<=n;++i){
makeLevel(i);
}
}
int main()
{
int n;
cin >> n;
tree(n);
return 0;
}
Объяснение: