Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача рыбаки 2

Hayk Babayan Ученик (217), на голосовании 1 день назад
Не получается решить данную задачу для С++ Рыбаки - 2
(Время: 1 сек. Память: 16 Мб Сложность: 53%)
Однажды N рыбаков отправились на рыбалку, где поймали X рыб. После этого рыбаки легли спать. Утром, просыпаясь друг за другом, каждый из них делил выловленную рыбу на N частей. Каждый раз в остатке оставалось ровно K рыб (0 < K < N). Эти K рыб выбрасывались обратно в море. Рыбак забирал свою часть улова и отбывал домой, не зная ничего о том, поступал ли уже кто-либо из остальных рыбаков таким же образом.

Ваша задача – определите при заданных N и K минимально возможное целое положительное значение X – число рыб, удовлетворяющее условию задачи.

Входные данные
Входной файл INPUT.TXT содержит два целых числа N и K, разделенные пробелом (2 ≤ N ≤ 15, 0 < K < N).

Выходные данные
Выходной файл OUTPUT.TXT должен содержать одно целое положительное число X – наименьшее возможное количество выловленной рыбаками рыбы.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 1 25
2 4 3 247
(В условие забыли добавить, что количество рыб не должно равняться 0)
Голосование за лучший ответ
Андрей Высший разум (481864) 1 месяц назад
 #include <iostream>

using namespace std;

int main() {
int n, k;
cin >> n >> k;
if (n == 2) {
cout << 7; // особый случай
return 0;
}
long long unsigned x = 1;
for (int i = 0; i < n; ++i) { x *= n; } // x = n в степени n
x -= (n - 1) * k;
cout << x;
}
Похожие вопросы