Вопрос по информатике:
Напишите программу, которая получает два целых числа и находит их произведение, не используя операцию умножения. Учтите, что числа могут быть отрицательными. Через цикл WHILE!!!! (c++)
- 10.01.2018 01:55
- Информатика
- remove_red_eye 2173
- thumb_up 27
Ответы и объяснения 1
// идея решения: a * b (если b > 0) эквивалентно сумме a + a + ... + a (b раз)
// если b < 0, меняем знак у a
// если b = 0, ответ всегда 0
#include
int mult(int a, int b) {
if (b == 0) return 0;
if (b < 0) return mult(-a, -b);
int product = 0;
while (b > 0) {
product += a;
b--;
}
return product;
}
int main() {
int a, b;
std::cin >> a >> b;
std::cout << mult(a, b);
return 0;
}
Пример ввода: -2 -7
Пример вывода: 14
- 12.01.2018 00:11
- thumb_up 23
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.