Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2012, 22:17   #1
ovner
 
Регистрация: 06.10.2012
Сообщений: 8
По умолчанию Наименьшее общее кратное

Всем привет, вообщем мне нужно с помощью функции поиска НОК(Наименьшее общее кратное) 2 чисел, найти НОК всех введенных чисел с клавиатуры, тоесть массива, помогите пожалуйста сделать, а то не знаю как.
Код:
#include <stdio.h>

int NOK (int a, int b)
	{ 
		
	/*int wtf=(a>b) ? a : b;              // итерационный вариант
        for (int i=wtf; ; i++) 
        if (!(i%a) && !(i%b)) return i;*/
   
   return (b < 1 ? (b ? NOK(b, a % b) : a) : (a / -NOK(-b, -a % b) * b));              // рекурсия
}

int main()
	
{
	
	int a,b,d;
	printf ("Vvedite 2 chusla:");
	scanf ("%d %d", &a, &b);
	
	d=NOK(a,b);
	printf ("NOK: %d \n",d);
	
	
getchar();
getchar();
return 0;

}

Последний раз редактировалось ovner; 10.11.2012 в 22:19.
ovner вне форума Ответить с цитированием
Старый 11.11.2012, 16:23   #2
ovner
 
Регистрация: 06.10.2012
Сообщений: 8
По умолчанию

ап..............
ovner вне форума Ответить с цитированием
Старый 11.11.2012, 16:38   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Есть такое тождество : НОК(a,b) = a * b / НОД(a,b)
То есть можно делать так :
Код:
// НОД
int gcd(int a,int b) {
  return a ? gcd(b % a,a) : b;
}

// НОК
int lcm(int a,int b) {
  return a / gcd(a,b) * b;
}
Ну соответственно НОК n чисел равен НОК предыдущей пары и следующего числа.
Например НОК(a,b,c) = НОК(НОК(a,b),c)

Последний раз редактировалось _-Re@l-_; 11.11.2012 в 16:42.
_-Re@l-_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наименьшее общее кратное трех чисел (Pascal) spone379 Помощь студентам 4 31.10.2012 18:23
два натуральных числа. Верно ли, что их наименьшее общее кратное есть нечетное число monokol Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2011 15:53
Наименьшее общее кратное temperus Общие вопросы C/C++ 0 10.03.2011 23:08
Число кратное 10 kpachbiu PHP 9 20.12.2010 18:38
наименьшее общее кратное четырёх заданных натуральных чисел Васильева Зинаида Помощь студентам 0 22.11.2010 18:34