Найти наименьшее общее кратное набора из N целых чисел, лежащих в диапазоне от 1 до 1000 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти наименьшее общее кратное набора из N целых чисел, лежащих в диапазоне от 1 до 1000. Под наименьшим общим кратным набора чисел понимается наименьшее из таких чисел, которые делятся на любое из чисел набора. Формат ввода В первой строке задается количество чисел N (1 ≤ N ≤ 20) в наборе. Во второй строке перечисляются через пробел в любом порядке все N целых чисел набора. Формат вывода Вывести полученное наименьшее общее кратное для заданного набора чисел. Пример ввода: 4 1 5 6 4 Пример вывода: 60

Решение задачи: «Найти наименьшее общее кратное набора из N целых чисел, лежащих в диапазоне от 1 до 1000»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. typedef long long ll;
  4.  
  5. ll gcd(ll a, ll b){
  6.     return (b) ? gcd(b, a % b) : a;
  7. }
  8.  
  9. ll lcm(ll a, ll b){
  10.     return a / gcd(a, b) * b;
  11. }
  12.  
  13. int main(){
  14.     int q;
  15.     scanf("%d",&q);
  16.     ll ans = 1;
  17.     while (q--){
  18.         int x;
  19.         scanf("%d",&x);
  20.         ans = lcm(ans, x);
  21.     }
  22.     printf("%lld\n", ans);
  23.     return 0;
  24. }

Объяснение кода листинга программы

В этом коде реализованы две функции: gcd(a, b) - нахождение наибольшего общего делителя двух чисел, и lcm(a, b) - нахождение наименьшего общего кратного двух чисел. Затем в функции main() происходит следующее:

  1. Вводится количество чисел N (q) для обработки.
  2. Инициализируется переменная ans единицей (1).
  3. В цикле происходит чтение N чисел x с помощью функции scanf().
  4. Для каждого числа x функция lcm() вызывается с текущим значением ans и x. Результат присваивается переменной ans.
  5. После окончания цикла выводится значение переменной ans с помощью функции printf().
  6. Программа возвращает 0, заканчивая свою работу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы