C/C++

Помогите с задачей. Обязательно решить через С++

Все с фото ниже
Пусть K - количество квартир на этаже, а E - сашин этаж. Тогда должны выполняться соотношения:
6·7·K < 462 (откуда K < 11)
и 6·7·K + (E - 1)·K + 1..K = 462, то есть
(41 + E)·K + 1 ≤ 462 ≤ (42 + E)·K, 1 < K < 11.
#include <iostream>
using namespace std;
int main() { int k, l, e; for (e = 1; e < 8; e++)
for (k = 1; k < 11; k++) { l = k * (41 + e);
if (l + 1 <= 462 && 462 <= l + k)
cout << e << endl; } }
P.S. Всегда найдутся "умники", который такие задачи считают в уме. Но тут нужно именно компьютерное решение, причём абсолютно надёжное и совершенно понятное, пусть даже при этом и не особо элегантное. У меня получился, естественно, пятый этаж..
Константин Ладик
Константин Ладик
29 440
Лучший ответ
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
auto flat = 462;
auto entry = 7;
auto level = 7;
auto storey = flat / level / entry;
if (storey * level * entry != flat) ++storey;
auto entrance = storey * level;
auto all = entry * entrance;
auto position = flat % entrance;
auto target = position / storey;
if (position % storey) ++target;
cout << target << '\n';
system("pause > nul");
}
Если N - кол. квартир на этаже, 7 - этажей и 6 подъездов до Саши
462 > 6*(N*7)
Этаж = (462-6*(N*7)-1)/N + 1
Подобрать N !!!
Дмитрий D: Я вычислил так:
Этаж = 462 / N % 7 + 1
N не надо подбирать. Оно получается из неравенства
462 > N*7*6
Ещё можно написать неравенство для последнего этажа 7-го подъезда.
Дмитрий D: #include <iostream>

int main()
{
std::cout << 5;
}