Другие языки программирования и технологии

помогите сделать програмку в С++

Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал пробег на 10% дистанции предыдущего дня. Определить через сколько дней он пробежит 20 км.
#include "iostream"
#include "cmath"
using namespace std;
int main(){cout<<int(log(2)/log(1.1)+1)<<endl; cin.get();}

P.S. 20 км за день. полагаю, а не всего? Иначе правильно подметил Андрей - за два дня ;)
Xxx.yyy.14
Xxx.yyy.14
68 069
Лучший ответ
Для указанных условий - 2 дня.

В целом: S == b * (pow(q, n) - 1) / (q - 1) - сумма геометрической прогрессии.

S == b * (pow(q, n) - 1) / (q - 1)
S * (q - 1) / b + 1 == pow(q, n)
log(S * (q - 1) / b + 1) == log(pow(q, n))
log(S * (q - 1) / b + 1) == n * log(q)
n == log(S * (q - 1) / b + 1) / log(q)
Округляем вверх до целого:
n = ceil(log(S * (q - 1) / b + 1) / log(q))

q = 1.1, S = 20, b = 10

ceil(log(20 * (1.1 - 1) / 10 + 1) / log(1.1)) == ceil(log(1.2) / log(1.1)) == 2
#include(iostream) // круглые скобки () заменить на <>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int i = 10, days = 1, length = 0;
cout << "ДАНО: Начав тренировки, спортсмен в первый день пробежал 10 км. \nКаждый следующий день он увеличивал пробег на 10% дистанции предыдущего дня. \nОпределить через сколько дней он пробежит 20 км." << endl <<endl;
cout << "Начав тренировки, спортсмен в первый день пробежал " << i << " км." << endl;
while(i < 20)
{
length = i + (i * 10 / 100);
days += 1;
i++;
cout << "В (во) " << days << " день спортсмен пробежит " << length << " км." << endl;
}
cout << endl;
return 0;
}
Пётр Дружинин Если нужно более точно определить за сколько дней то этот вариант. Но я больше склоняюсь что тебе нужен первый вариант с целыми.

#include(iostream) // круглые скобки () заменить на <>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int i = 10, days = 1;
float length = 10;
cout << "ДАНО: Начав тренировки, спортсмен в первый день пробежал 10 км. \nКаждый следующий день он увеличивал пробег на 10% дистанции предыдущего дня. \nОпределить через сколько дней он пробежит 20 км." << endl <<endl;
cout << "Начав тренировки, спортсмен в первый день пробежал " << i << " км." << endl;
while(i < 20)
{
length = length + (length * 10 / 100);
days += 1;
i++;
cout << "В (во) " << days << " день спортсмен пробежит " << length << " км." << endl;
}
cout << endl;
return 0;
}