TransWikia.com

Помогите математически решить задачу на C++, используя только целочисленное деление и остаток от деления

Stack Overflow на русском Asked by TAWER768 on December 1, 2020

Существует бесконечно высокий дом, в котором нумерация квартир начинается с единицы. Известен номер квартиры N. Определите на каком этаже находится данная квартира, если всего на этаже располагается по 12 квартир.

Формат входных данных:

Целое положительное число N не превосходящее 10^9

Формат выходных данных:

Целое число – номер этажа, на котором расположена квартира

Мой код:

#include<iostream>

using namespace std;

int main() {
    long int a;
    cin >> a;
    cout << (a / 12);
    system("pause");
    return 0;
}

Суть заключается в том, что нужно использовать только остаток от деления и целочисленное деление, а у меня появляется проблема при N < 12. Если ввод, например, равен 10, то в ответе будет 0, а должно быть 1, но если я просто прибавлю 1, то при вводе 12 ответ будет 2, а не 1.

2 Answers

(a - 1) / 12 + 1

(Тело сообщения должно содержать не менее 30 символов).

Correct answer by Igor on December 1, 2020

int a;
std::cin >> a;
std::cout << a / 12 + ((a % 12) > 0) ? 1 : 0;

Answered by Ярослав on December 1, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP