
Реализовать программу на с++: Найти произведение целых чисел от m до n, кратных к. С помощью цикла
for и с помощью цикла while(или do while). Выбор цикла while или do while зависит от алгоритма, должен быть применён тот цикл, который позволяет получить оптимальный код.

Ответы на вопрос

Иллюстрации кода и пример вывода прикреплен ниже.
Сам код доступен в виде текста в конце ответа.
В коде определены функции:
- is_number_divided_by() - для проверки делимости числа на k
- get_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;
}






Конечно, вот пример реализации данной программы на C++ с использованием цикла for
и цикла while
:
cpp#include <iostream>
int main() {
int m, n, k;
// Ввод данных
std::cout << "Введите m, n и k: ";
std::cin >> m >> n >> k;
// Проверка на корректность ввода
if (k <= 0) {
std::cout << "Значение k должно быть положительным!" << std::endl;
return 1;
}
int product_for = 1;
int product_while = 1;
// Используем цикл for для вычисления произведения
for (int i = m; i <= n; i++) {
if (i % k == 0) {
product_for *= i;
}
}
// Используем цикл while для вычисления произведения
int i = m;
while (i <= n) {
if (i % k == 0) {
product_while *= i;
}
i++;
}
// Вывод результатов
std::cout << "Произведение (с использованием цикла for): " << product_for << std::endl;
std::cout << "Произведение (с использованием цикла while): " << product_while << std::endl;
return 0;
}
Этот код сначала запрашивает у пользователя значения m
, n
и k
, а затем считает произведение целых чисел от m
до n
, кратных k
, используя как цикл for
, так и цикл while
. Программа выводит оба результата на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili