Задача про Диету Деда Мороза, подробнее на картинке. Самая простая задача из тех что были, все решил эту не удается. Помогите с решением пожалуйста. (C++17)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main() {
ifstream inp;
ofstream otp;
inp.open("input.txt");
otp.open("output.txt");
double K = 0, P = 0, Q = 0, N = 0, cpd = 0, ans = 0;
inp >> K >> P >> Q >> N;
cpd = (Q - P) / (K - 1);
otp << fixed << setprecision(5) << (cpd * N);
return 1;
}
https://codeshare.io/5wKVnD
Это задача на формулу сложного процента. Вес Деда Мороза в день i (при нумерации дней с нуля) равен
W = B * (1 + k)^i
где B - начальный вес, а k - коэффициент пропорциональности, а ^ - операция
возведения в степень.
Чтобы решить задачу, вам нужно использовать веса Деда Мороза в первый день и в последний день, чтобы найти неизвестный коэффициент пропорциональности k
k = (E/B)^(1/N) - 1
где E - конечный вес Деда Мороза, а N - количество дней в диете. При этом не забывайте, что в задаче нумерация дней идет с 1, то есть N равно количеству дней из файла минус 1 (N = K - 1).
Получив коэффициент k вы по первой формуле сможете найти W в любой день диеты.
Для приведенного примера (при условии, что входные данные идут в порядке "конечный вес" - "начальный вес"), значение k будет равно -0.5.
Разумеется, в формулах можно сделать замену переменной 1 + k на m и избавиться от этого прибавления/вычитания 1. Но я хотел сохранить соответствие классическому написанию формулы сложного процента.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей