Реализовать программу на с++: Найти произведение целых чисел от m до n, кратных к. С цикла for и с цикла while(или do while). Выбор цикла while или do while зависит от алгоритма, должен быть применён тот цикл, который позволяет получить оптимальный код.
Иллюстрации кода и пример вывода прикреплен ниже.
Сам код доступен в виде текста в конце ответа.
В коде определены функции:
is_number_divided_by() - для проверки делимости числа на kget_production_for() - реализация алгоритма вычисления заданного произведения с использованием цикла for.get_production_while() - реализация алгоритма вычисления заданного произведения с использованием цикла while.========================
Ваши оценки и отзывы лучше оценить качество решения.
Если решение удовлетворило, то не забудь отметить его как "Лучшее".
========================
Код:
#include <iostream>
bool is_number_divided_by(int number, int fr) {
return number % fr == 0;
}
int get_production_for(int m, int n, int k) {
int production = 1;
for (int number = m; number <= n; ++number) {
if(is_number_divided_by(number, k)) {
production *= number;
}
}
return production;
}
int get_production_while(int m, int n, int k) {
int production = 1;
while (m <= n) {
if(is_number_divided_by(m, k)) {
production *= m;
}
++m;
}
return production;
}
int main() {
const int m = 3, n = 7, k = 2;
std::cout << "Getting production for m=" << m << " n=" << n << " and k=" << k << "..." << std::endl;
std::cout << "FOR way result is " << get_production_for(m, n, k) << std:: endl;
std::cout << "WHILE way result is " << get_production_while(m, n, k) << std:: endl;
return 0;
}