Ссылка на условие задания: e-olymp.com
Условие
Многоквартирный дом имеет $N$ квартир, $P$ подъездов и $Q$ этажей, причем на каждом этаже каждого подъезда имеется одинаковое количество квартир. Определить в каком подъезде и на каком этаже находится квартира с заданным номером.
Входные данные.
Значения $N$, $P$, $Q$, $K$, причем [latex]1 \leq K \leq N \leq 1000[/latex], [latex]P \cdot Q \leq N[/latex].
Выходные данные.
Нужно вывести номер подъезда и этаж, на котором находится квартира с номером $K$.
Тесты
Входные данные | Выходные данные |
---|---|
250 5 5 1 | 1 1 |
30 2 5 27 | 2 4 |
300 3 10 111 | 2 2 |
80 5 4 77 | 5 4 |
Код.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class Test { static function main() { var output = Sys.stdout(); var N:Int = Std.parseFloat(Sys.stdin().readLine()); var P:Int = Std.parseFloat(Sys.stdin().readLine()); var Q:Int = Std.parseFloat(Sys.stdin().readLine()); var K:Int = Std.parseFloat(Sys.stdin().readLine()); var fl = 0; var fle = Math.round(N/P); //находим количество квартир в подъезде var flf = Math.round(fle/Q); //находим количество квартир на этаже var ent = Math.ceil(K/fle); //узнаем номер подъезда в котором рассположена квартира с заданным номером К if(K%fle==0) fl=Q; else { fl=Math.round((K%fle)/flf); if(K%flf!=0) fl++; } output.writeString(ent + " "+fl); } } |