Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/384: Рейтинг темы: голосов - 384, средняя оценка - 4.91
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75

Наименьшее общее кратное

11.05.2010, 18:45. Показов 81215. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не особо понятная мне задача попалась...поясните и помогите:
используя функцию нахождения наименьшего общего кратного двух чисел,найти наименьшее общее кратное четырех чисел.
то есть мне надо написать функцию для двух чисел и применить для четырех???или же есть стандартная функция для НОК двух чисел???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2010, 18:45
Ответы с готовыми решениями:

Наименьшее общее кратное
Определить наименьшее общее кратное для двух чисел A и B. Числа A и B вводятся пользователем с клавиатуры. Для тех, кто здесь сидят,...

Наименьшее общее кратное
есть одномерный массив, содержащий целые числы. нужно найти наименьшее общее кратное, которое бы удовлетворяло всем эти числам. не знаю как...

Наименьшее общее кратное
Здравствуйте. Пыталась реализовать программу для нахождения НОК нескольких чисел. Но некоторые тесты не проходит. Допустим, если ввести...

24
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 18:56
Так?)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int search_NOK(int, int);
 
int main()
{
    int first, second, third, fourth;
    std::cout << "Input four numbers: ";
    std::cin >> first >> second >> third >> fourth;
 
    std::cout << "NOK: " << search_NOK (search_NOK(first,second) , search_NOK(third, fourth));
    std::cout << std::endl;
    return 0;
}
 
int search_NOK (int x, int y)
{
    int count=(x<y) ? x : y;
 
    for (int i=2; i<=count; i++)
        if (!(x%i) && !(y%i)) return i;
    else return 1;
}
1
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
11.05.2010, 19:00
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
#include <iostream>
#include <math.h>
#include "func.h"
using namespace std;
 
void main()
{
    int a = 0, b = 0, c = 0, d = 0;
    setlocale(0, "Rus");
    cout << "Введите числа для подсчёта НОК:\t";
    cin >> a >> b >> c >> d;
    cout << "НОК чисел = " << nok(a, b, c, d);
}
 
int nok(int a, int b) 
{
    int max = b;
    for(int i = max; i > 0; i++){
    
        if((i % a == 0) && (i % b == 0)){
            return i;
        }
    }
}
int nok(int a, int b, int c)
{ 
    int max = c;
    for(int i = max; i > 0; i++){
        if((i % a == 0) && (i % b == 0) && (i % c == 0)){
            return i;
        }
    }
}
int nok(int a, int b, int c, int d)
{
    int max = d;
    for(int i = max; i > 0; i++){
        if((i % a == 0) && (i % b == 0) && (i % c == 0) && (i % d == 0)){
            return i;
        }
    }
}
Добавлено через 1 минуту
далее создаёшь новый header - файл, называешь его func.h, в который помещаешь след код:
int nok(int a, int b);
int nok(int a, int b, int c);
int nok(int a, int b, int c, int d);
1
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 19:00
NikITKA123, нужно использовать функцию для поиска НОК только для двух чисел.
0
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
11.05.2010, 19:02
Цитата Сообщение от AgentumA Посмотреть сообщение
используя функцию нахождения наименьшего общего кратного двух чисел,найти наименьшее общее кратное четырех чисел
если я всё понял правильно, то ты должен создать функцию для находа НОК двух чисел, а потом перегрузить её для четырёх. Выше я перегрузил сначала для 3, а потом и для 4
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 19:03
В задаче конкретно сказано, что используем функцию только для поиска НОК 2-ух чисел )
0
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
11.05.2010, 19:04
по другому не знаю
0
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75
11.05.2010, 19:06  [ТС]
neske, поясни пожалуйста свой код...что такое std:: и
эту часть кода пжл:
C++
1
2
3
4
5
6
7
int search_NOK (int x, int y)
{
    int count=(x<y) ? x : y;
 
    for (int i=2; i<=count; i++)
        if (!(x%i) && !(y%i)) return i;
    else return 1;
в функциях хз я...
0
19 / 18 / 5
Регистрация: 28.04.2010
Сообщений: 86
11.05.2010, 19:09
Цитата Сообщение от AgentumA Посмотреть сообщение
neske, поясни пожалуйста свой код...что такое std:: и
эту часть кода пжл:
C++
1
2
3
4
5
6
7
int search_NOK (int x, int y)
{
    int count=(x<y) ? x : y;
 
    for (int i=2; i<=count; i++)
        if (!(x%i) && !(y%i)) return i;
    else return 1;
в функциях хз я...
если вначале using namespace std; написал, то std:: нигде писать не надо
1
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75
11.05.2010, 19:10  [ТС]
Цитата Сообщение от NikITKA123 Посмотреть сообщение
если вначале using namespace std; написал, то std:: нигде писать не надо
ааа.вот как...
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 19:13
AgentumA, мои извинения, в моем коде недочет, постараюсь исправить.
1
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75
11.05.2010, 19:26  [ТС]
ага...пробовал щас...
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 19:29
Все, исправил =)
+ добавил комментарии.

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
#include <iostream>
 
int search_NOK(int, int);
 
int main()
{
    int first, second, third, fourth; 
    std::cout << "Input four numbers: ";
    std::cin >> first >> second >> third >> fourth; // вводим четыре числа.
 
    std::cout << "NOK: " << search_NOK (search_NOK(first,second) , search_NOK(third, fourth));
    std::cout << std::endl;
    return 0;
}
 
int search_NOK (int x, int y) // функция получает два числа типа int.
{
    int count=(x<y) ? x : y; // если условие правда (x<y), выполняется выражение 1- count=x,
                                                        // иначе выполняется выражение два 2- count=y;
 
    for (int i=2; i<=count; i++) // ищем НОК от 2 до наименьшего из чисел.
        if (!(x%i) && !(y%i)) return i; // это эквивалентно: if ((x%i==0) && (y%i==0)) 
    return 1; // если мы такого числа не нашли, возвращаем единицу.
}
Думаю будет ясно
1
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75
11.05.2010, 19:37  [ТС]
neske, спасибо большое,но задам еще глупые вопросы:
компилю я вот это и запускаю:
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
#include "stdafx.h"
#include <iostream>
#include "conio.h"
 
using namespace std;
 
int search_NOK(int, int);
 
int main()
{
    int first, second, third, fourth; 
    cout << "Input four numbers: ";
    cin >> first >> second >> third >> fourth; // вводим четыре числа.
 
    cout << "NOK: " << search_NOK (search_NOK(first,second) , search_NOK(third, fourth));
    cout << endl;
    return 0;
    getch();
}
 
int search_NOK (int x, int y) // функция получает два числа типа int.
{
    int count=(x<y) ? x : y; // если условие правда (x<y), выполняется выражение 1- count=x,
                                                        // иначе выполняется выражение два 2- count=y;
 
    for (int i=2; i<=count; i++) // ищем НОК от 2 до наименьшего из чисел.
        if (!(x%i) && !(y%i)) return i; // этот эквивалентно: if ((x%i==0) && (y%i==0)) 
    return 1; // если мы такого числа не нашли, возвращаем единицу.
}
но почему то значение НОК все равно не успевает показаться,хотя getch() я написал...
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 19:41
C++
1
2
getch();
return 0;
А не наоборот)
1
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75
11.05.2010, 20:02  [ТС]
Цитата Сообщение от neske Посмотреть сообщение
C++
1
2
getch();
return 0;
А не наоборот)
это точно...только все время 2 выдает...и эт...нок для 2 и 4 это вроде 8...а нод-это 2...
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
11.05.2010, 20:14
ой )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int search_NOK(int, int);
 
int main()
{
    int first, second, third, fourth;
    std::cout << "Input four numbers: ";
    std::cin >> first >> second >> third >> fourth; 
 
    std::cout << "NOK: " << search_NOK (search_NOK(first,second) , search_NOK(third, fourth));
    std::cout << std::endl;
    return 0;
}
 
int search_NOK (int x, int y) 
{
    int count=(x>y) ? x : y; 
                                                      
    for (int i=count; ; i++) 
        if (!(i%x) && !(i%y)) return i; 
}
1
2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75
11.05.2010, 22:08  [ТС]
вот оно!!!!респект!!!
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
02.04.2012, 23:31
Я немного изменил прогу. Короче, вводим кол-во элементов массива (не больше 20) а потом сами элементы. элементы не превышают 100.
Как сделать, чтобы прога работала быстрее???
C++ (Qt)
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
#include <iostream>
 
long NOK(int, int);
 
int main()
{
    short n,j;
    short a[20];
    std::cin >> n;
    if (n>1 && n<21)
    {
        for (j=0;j<n;j++) std::cin >> a[j];
        long o=NOK(a[0],a[1]);
        for (j=2;j<n;j++) o=NOK(o,a[j]);
        std::cout << o << std::endl;
    }
}
 
long NOK (int x, int y) 
{
    int count=(x>y) ? x : y; 
                                                      
    for (long i=count; ; i++) 
        if (!(i%x) && !(i%y)) return i; 
}
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
02.04.2012, 23:46
мне кажется, что надо перебор делать
C++
1
2
3
4
int max=(x>y) ? x : y;
int min=(x<=y) ? y : x;
for (int i=1;;i++)
 if ((i*max)%min==0) return i*max;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2012, 23:46
Помогаю со студенческими работами здесь

Наименьшее общее кратное трёх чисел
Нужно найти НОК трёх чисел, используя функции Добавлено через 6 минут Вот мой код для нахождения НОК(а,в) через НОД(а,в). Теперь,...

Найти наименьшее общее кратное трех чисел
заданы 3 числа найти их наименьшее общее кратное Теги выделения кода предназначены для выделения кода, а не задания. Если Вам...

Найти наименьшее общее кратное используя рекурсию
Дан массив.Найти наименьшее общее кратное используя рекурсию

Найти наименьшее общее кратное заданных N чисел
Ребят, привет. Выручайте, чем можете, нужно составить код для нахождения наименьшего общего кратного заданных N чисел. Облазил весь...

Определить наименьшее общее кратное двух натуральных чисел
вот мой код. выдаёт одну ошибку. помогите пожалуйста найти. #include&lt;iostream.h&gt; main(int nok) { int a, b, nod, nok; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru