Форум программистов, компьютерный форум CyberForum.ru

Найти наименьшее общее кратное трех чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.71
wizard 007
0 / 0 / 0
Регистрация: 19.04.2011
Сообщений: 39
02.10.2011, 11:20     Найти наименьшее общее кратное трех чисел #1
заданы 3 числа найти их наименьшее общее кратное

 Комментарий модератора 
Теги выделения кода предназначены для выделения кода, а не задания. Если Вам необходимо решения именно на C++, укажите это в названии темы или в посте.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2011, 11:20     Найти наименьшее общее кратное трех чисел
Посмотрите здесь:

Найти наименьшее общее кратное (НОК) натуральных чисел С++ C++
Найти наименьшее общее кратное (НОК) n натуральных чисел C++
C++ Найти наибольший общий делитель и наименьшее общее кратное двух введенных натуральных чисел.
C++ Наименьшее общее кратное трёх чисел
C++ Разработать функцию, которая возвращает наименьшее общее кратное трех заданных натуральных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Юри
1 / 1 / 1
Регистрация: 28.09.2011
Сообщений: 6
02.10.2011, 12:35     Найти наименьшее общее кратное трех чисел #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
 
int nok(int a, int b, int c);
 
int i;
 
int main()
{
    int s1, s2, s3;
    cout << " Vvedite 3 chisla: ";
    cin >> s1;
    cin >> s2;
    cin >> s3;
    
    cout << " Haimenshee obshee kratnoe ravno: " << nok(s1, s2, s3);
    
    return 0;
}
 
    int nok(int a, int b, int c)
    {    
         for(i=1; i<a*b*c; i++)
         {
              if(!(i%a) && !(i%b) && !(i%c)) return i;
              }
              }
 Комментарий модератора 
Используйте теги форматирования кода!
kozlik_kozlik
7 / 11 / 0
Регистрация: 01.08.2012
Сообщений: 99
10.08.2015, 16:12     Найти наименьшее общее кратное трех чисел #3
А если наименьшее общее кратное - произведение этих чисел ? Программа слегка не доделана.
ture
 Аватар для ture
417 / 310 / 120
Регистрация: 27.11.2014
Сообщений: 1,004
10.08.2015, 16:29     Найти наименьшее общее кратное трех чисел #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
int nod(int a, int b) { 
    int rez;
    a = a > 0 ? a : -a;
    b = b > 0 ? b : -b;
 
    if(a == 0)
        rez = b;
    else if(b == 0)
        rez = a;
    else if(a == b)
        rez = a;
    else if(a == 1 || b == 1)
        rez = 1;
    else {
        int ra = a % 2, rb = b % 2;
        if(!(ra || rb))
            rez = 2 * nod(a / 2, b / 2);
        else if(!ra)
            rez = nod(a / 2, b);
        else if(!rb)
            rez = nod(b / 2, a);
        else if(a > b)
            rez = nod(a - b, b);
        else
            rez = nod(b - a, a);
    }
 
    return rez;
}
 
int nok(int a, int b) { 
    return a*b/nod(a,b);
}
 
int main() {
    int a,b,c;
    cout << "a, b, c\n";
    cin >> a >> b >> c;
    cout << "NOK(a,b,c) = "<< nok(nok(a, b), c) << endl;
    system("pause");
    return 0;
}
SerVal
 Аватар для SerVal
17 / 17 / 2
Регистрация: 16.04.2015
Сообщений: 166
10.08.2015, 19:17     Найти наименьшее общее кратное трех чисел #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using namespace std;
bool isCommonDivisor(int a, int b, int c, int num)
{
    if ((a % num == 0) && (b % num == 0) && (c % num == 0))
        return true;
    return false;
}
//******************************
int main(int argc, char *argv[])
{
    setlocale(LC_CTYPE, "russian");
 
    int a = 6;
    int b = 12;
    int c = 15;
 
    int min_number = min(a, b);
    min_number = min(c, min_number);
 
    int  lcd = INT_MAX; // lowest_common_divisor
 
    for (int divisor = min_number / 2; divisor > 1; divisor--)
    {
        if (isCommonDivisor(a, b, c, divisor))
        {
            if (lcd > divisor)
                lcd = divisor;
        }
    }
 
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "c = " << c << endl;
    cout << "Lowest common divisor " << lcd << endl;
 
    return 0;
}
Добавлено через 18 минут
Ой, ребятки, я ошибся: написал вычисление минимального делителя.
Yandex
Объявления
10.08.2015, 19:17     Найти наименьшее общее кратное трех чисел
Ответ Создать тему
Опции темы

Текущее время: 08:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru