Top.Mail.Ru
Ответы

Как умножить число многократно допустим 100 умножить на 365 раз но по проценту в день?

Дополнен

100+1%=101+1=102,01+1=103,02+1=104.04+1... типо вот так

По дате
По Рейтингу
Аватар пользователя
Новичок
6лет

100 * 1.01^365

PS
Обратите внимание, что если взять очень малое приращение единицы, а степень равную единице деленную на это малое приращение, то получиться
число e, основание натуральных логарифмов.
e=2.71828182845904524
например
1.0001^10000 = 2.7181459268252261

Аватар пользователя
Знаток
6лет

В идеальном случае необходимо делать что-то в духе action-ов, которые вызывают твою функцию, которая производит необходимые тебе манипуляции.

Ниже приведу "тупой" способ, где мы просто бежим в цикле и засекаем какой-то кусок времени. Минус такого кода в том, что запустив один раз мы будем накапливать временную ошибку, потому что sleep реализован, как послание "усыпить" исполняемый тред на некоторое количество времени, однако выполнение является неравномерным в виду того, что есть время исполнения самого кода + время которое выполняются другие программы + время смены контекста и т. д. и т. п.

#include
#include

using namespace std;

int main()
{
const size_t days_count = 365;
const double percent = 0.01;
const double initial_value = 1234.;
const unsigned int delay_in_seconds = 60*60*24;

double value = initial_value;
for (size_t day = 0U; day < days_count; day++)
{
value *= 1. + percent;
printf ("Day %u result = %lf\n", day + 1U, value);
sleep (delay_in_seconds);
}

printf ("\nResult = %lf\n", value);

return 0;
}

Аватар пользователя
Искусственный Интеллект
6лет

в цикле