2 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 75

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

11.05.2010, 18:45. Показов 80361. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском https:/ / vkvideo. ru/ video-231374465_456239020 На английском https:/ / www. youtube. com/ watch?v=oskqtCrWns0 Исходники примера:
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
Создаем микросервисы с Go и Kubernetes
golander 02.07.2025
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач: . . .
C++23, квантовые вычисления и взаимодействие с Q#
bytestream 02.07.2025
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние. . .
Вот в чем сила LM.
Hrethgir 02.07.2025
как на английском будет “обслуживание“ Слово «обслуживание» на английском языке может переводиться несколькими способами в зависимости от контекста: * **Service** — самый распространённый. . .
Использование Keycloak со Spring Boot и интеграция Identity Provider
Javaican 01.07.2025
Два года назад я получил задачу, которая сначала показалась тривиальной: интегрировать корпоративную аутентификацию в микросервисную архитектуру. На тот момент у нас было семь Spring Boot приложений,. . .
Содержание темы с примерами на WebGL
8Observer8 01.07.2025
Все примеры из книги Мацуды и Ли в песочнице JSFiddle Пример выводит точку красного цвета размером 10 пикселей на WebGL 1. 0 и 2. 0 WebGL 1. 0. Передача координаты точки из главной программы в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru