Олимпиада по информатике.
Витя безумно любит статистику. Ещё бы — у них со старшим братом день рождения приходится на один и тот же день года! Теперь каждый год в свой день рождения он записывает, сколько лет ему и его брату, и пытается найти в этих записях что-нибудь интересное.
Сегодня у Вити день рождения, и он показал свои записи Алёне. Витя знает, что она тоже любит исследовать всякие наборы чисел и находить в них закономерности. Алёна тут же заметила интересный момент: когда в один из прошлых дней рождения Вите было n лет, его брату было m лет, а сегодня Витя младше своего брата ровно в k раз!
Вернувшись вечером домой, Алёна заинтересовалась вопросом: а достаточно ли этих данных, чтобы вычислить, сколько лет исполнилось Вите сегодня? Алёна быстро справилась, а сможете ли вы решить эту сложную задачу и выяснить по числам n, m и k, сколько лет Вите?
Формат ввода
Ввод состоит из трех строк, которые содержат по одному натуральному числу: n, m и k — возраст Вити и его брата в былые времена, а также во сколько раз Витя сегодня младше своего брата (1 ≤ n < m ≤ 10 000, 2 ≤ k ≤ 10 000).
Язык какой? C++ как в категории указано? Сомневаюсь, что по информатике c++, может python? Вот на питоне:
n = int(input().strip())
m = int(input().strip())
k = int(input().strip())
diff = m - n
if (k - 1) == 0 or diff % (k - 1) != 0:
print(-1)
else:
x = diff // (k - 1)
if x <= n:
print(-1)
else:
print(x)
А вот на C++:
#include <iostream>
using namespace std;
int main(){
int n, m, k;
cin >> n >> m >> k;
int diff = m - n;
if(k - 1 == 0 || diff % (k - 1) != 0){
cout << -1;
return 0;
}
int x = diff / (k - 1);
if(x <= n)
cout << -1;
else
cout << x;
return 0;
}
Сегодня Вите исполнилось (m - n) / (k - 1) лет.