Вопрос задан 05.07.2023 в 04:46. Предмет Информатика. Спрашивает Назаров Олег.

Реализовать программу на с++: Найти произведение целых чисел от m до n, кратных к. С помощью цикла

for и с помощью цикла while(или do while). Выбор цикла while или do while зависит от алгоритма, должен быть применён тот цикл, который позволяет получить оптимальный код.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лис Полина.

Иллюстрации кода и пример вывода прикреплен ниже.

Сам код доступен в виде текста в конце ответа.

В коде определены функции:

  • 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;

}




0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример реализации данной программы на 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. Программа выводит оба результата на экран.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос