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

Найти НОД трех чисел

04.10.2022, 21:43. Показов 330. Ответов 8
Метки с++ (Все метки)

Author24 — интернет-сервис помощи студентам
Найти нод 3х чисел, код не всегда правильно работает, например если ввожу 8 12 24 выводит 8, 24 12 8:12 и тд, вместо 4
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int main(void)
{
     setlocale(LC_ALL, "ru");
    int a,b,c,n,nod;
    cout<<"введите 3 числа:"<<endl;
    cin>>a>>b>>c;
   while (c) {
      n = a % b;
      nod= n % c;
      a = b;
      b = c;
      c = n;
      n = nod;
      nod = a;
     
   }
cout<<"Наибольший общий делитель ваших чисел="<<a<<endl;
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2022, 21:43
Ответы с готовыми решениями:

Найти НОД трех чисел
заданы 3 числа . нужно найти их наибольший общий делитель

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

НОД трех чисел
Программа нахождения наибольшего общего делителя трех чисел Срочно нужно) Буду благодарен за...

НОД трех чисел
Нужно соединить эти два кода, чтобы была одна программа. Программа должна находить НОД трех чисел...

8
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
04.10.2022, 21:50 2
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
int nod(int a, int b, int min)
{
if(a % min == 0 && b % min == 0)
return min;
for(int i = sqrt(min); i > 1; i--)
if(c % i == 0)
if(a % i == 0)
if(b % i == 0)
return i;
return 1;
}
Добавлено через 2 минуты
а ещё: нод - это наибольший или наименьший?
0
Вездепух
Эксперт CЭксперт С++
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
04.10.2022, 21:56 3
Цитата Сообщение от Юна Ким Посмотреть сообщение
C++Выделить код
1
2
3
4
5
6
7
8
9
while (c) {
      n = a % b;
      nod= n % c;
      a = b;
      b = c;
      c = n;
      n = nod;
      nod = a;
}
Так а что это за набор манипуляций и какое он имеет отношение к НОД?

Зачем в конце итерации делается

C++Выделить код
1
2
      n = nod;
      nod = a;
если далее эти значения никому не нужны и нигде никак не используются?
0
0 / 0 / 0
Регистрация: 17.06.2022
Сообщений: 20
04.10.2022, 22:13  [ТС] 4
Наибольший общий делитель, типо у 24 12 и 8 нод=4
0
Вездепух
Эксперт CЭксперт С++
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
04.10.2022, 22:17 5
Цитата Сообщение от Юна Ким Посмотреть сообщение
Наибольший общий делитель, типо у 24 12 и 8 нод=4
Еще раз: что это за набор манипуляций и какое он имеет отношение к НОД?
0
0 / 0 / 0
Регистрация: 17.06.2022
Сообщений: 20
04.10.2022, 22:45  [ТС] 6
Это они все должны быть равны
0
3697 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
05.10.2022, 02:35 7
C++Выделить код
1
2
3
4
5
unsigned nod(unsigned a, unsigned b){
    if (b == 0) {
        return a;
   return nod(b, a % b);
}
0
716 / 676 / 110
Регистрация: 29.05.2015
Сообщений: 4,079
05.10.2022, 05:20 8
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
26
27
28
29
30
31
int NOD(int a, int b)
{
    int c;
 
    while(b != 0)
    {
        c = a % b;
        a = b;
        b = c;
    }
 
    return a;
}
 
 
 
 
 
void Widget::press_pbtn_02()
{
    int a, b, c, x, y;
 
    a = 8;
    b = 24;
    c = 12;
 
    x = NOD(a, b);
    y = NOD(x, c);
 
    ui->label_1->setNum(y);
}
0
Вездепух
Эксперт CЭксперт С++
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
05.10.2022, 06:27 9
Цитата Сообщение от Юна Ким Посмотреть сообщение
Это они все должны быть равны
Кто кому должен быть равен? Кто "все"?

Цитата Сообщение от Юна Ким Посмотреть сообщение
Найти нод 3х чисел
Почему вы не пользуетесь соотношением НОД(a, b, c) = НОД(НОД(a, b), c)? Почему вы не пользуетесь готовой стандартной реализацией НОД?
0
05.10.2022, 06:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2022, 06:27
Помогаю со студенческими работами здесь

НОК и НОД трех чисел
пожалуйста, поделитесь нок и нод - ом трех чисел)):declare:

НОД для трех чисел.
Здорова народ! Как найти найболшый общий делитель для трьох чисел?

Как найти НОК и НОД нескольких чисел или n чисел ?
Собственно вопрос в теме . Как найти двух чисел нод ,нок я могу .А как это найти НОД,НОК n чисел...

Найти НОД N чисел
Пожалуйста помогите найти НОД заранее благодарю Вводится N (N&gt;=2) натуральных чисел. Найдите их...

Найти НОД 6-и чисел
Начали проходить тему процедуры и функции, и вот дали такую задачу: Найти НОД 6-и чисел (НОД 3-х...

Найти НОД по Эвклиду 2 чисел
Вот пишу...но ошибки..помогите исправить, спасибо) #include &lt;iostream&gt; #include &lt;windows.h&gt;...

Найти НОД двух чисел
Необходимо составить программу которая определяет для двух вводимых натуральных чисел M и N их...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru