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

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

11.05.2010, 18:45. Показов 81383. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru