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

Наибольший общий делитель на С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 127, средняя оценка - 4.87
NASri
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 4
15.03.2011, 20:19     Наибольший общий делитель на С++ #1
Помогите, пожалуйста, написать программу, выводящую НОД от двух целых чисел.
P.S.(надо очень срочно)
Пожалуйста, не пишите какие-то заумные операторы, а если без них никак, то объясняйте...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2011, 20:19     Наибольший общий делитель на С++
Посмотрите здесь:

Наибольший общий делитель C++
C++ наибольший общий делитель
C++ Наибольший общий делитель
Наибольший общий делитель (НОД) C++
C++ Наибольший общий делитель целочисленного списка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.03.2011, 20:25     Наибольший общий делитель на С++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int NOD(int a, int b)
{
    while(a > 0 && b > 0)
 
        if(a > b)
            a %= b;
 
        else
            b %= a;
 
    return a + b;
}
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
15.03.2011, 20:27     Наибольший общий делитель на С++ #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int main(void)
{
    int a,b,c;
    scanf("%d",&a);
    scanf("%d",&b);
   while (b) {
      c = a % b;
      a = b;
      b = c;
   }
printf("%d",a);
getchar();
}
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
15.03.2011, 20:39     Наибольший общий делитель на С++ #4
Что-то в этом роде.
C
1
2
3
4
5
6
7
8
9
10
Nod(int a, int b)
{
   If (a<b) { t =a; a=b; b=t; }
   while(b!=0) {
     t = b;
     b = a%b;
     a = t;
  }
   return a;
}
Алгоритм Эвклида называется.
NASri
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 4
15.03.2011, 20:40  [ТС]     Наибольший общий делитель на С++ #5
Цитата Сообщение от asics Посмотреть сообщение
int NOD(int a, int b)
{
* * while(a > 0 && b > 0)
if(a > b)
* * * * * * a %= b;
else
* * * * * * b %= a;
return a + b;
}
эта программа не работает, но всёравно, спасибо!
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.03.2011, 20:42     Наибольший общий делитель на С++ #6
Цитата Сообщение от NASri Посмотреть сообщение
эта программа не работает
Это не програма, это только функция, которая Вам была нужна.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
15.03.2011, 20:44     Наибольший общий делитель на С++ #7
http://ru.lmgtfy.com/?q=%D0%B0%D0%BB...B8%D0%B4%D0%B0
NASri
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 4
15.03.2011, 20:47  [ТС]     Наибольший общий делитель на С++ #8
Цитата Сообщение от asics Посмотреть сообщение
Это не програма, это только функция, которая Вам была нужна.
А не могли бы Вы написать программу
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
15.03.2011, 20:59     Наибольший общий делитель на С++ #9
Цитата Сообщение от Rexer Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int main(void)
{
    int a,b,c;
    scanf("%d",&a);
    scanf("%d",&b);
   while (b) {
      c = a % b;
      a = b;
      b = c;
   }
printf("%d",a);
getchar();
}
вот тебе программа чего не так?тут тебе и программ и функция накидали
NASri
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 4
15.03.2011, 21:01  [ТС]     Наибольший общий делитель на С++ #10
Цитата Сообщение от Rexer Посмотреть сообщение
вот тебе программа чего не так?тут тебе и программ и функция накидали
Простите, но это программа на С,а не С++.
НО СПАСИБО ЗА ПОМОЩЬ!!!!!
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
15.03.2011, 21:06     Наибольший общий делитель на С++ #11
ну так вы скажите,что вам на си++ надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
int main(void)
{
    int a,b,c;
    cin>>a>>b;
   while (b) {
      c = a % b;
      a = b;
      b = c;
   }
cout<<a;;
system("pause");
}
PaganGrinder
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 1
08.11.2015, 14:23     Наибольший общий делитель на С++ #12
А что за условие такое - while (b) ?
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 1
08.11.2015, 14:38     Наибольший общий делитель на С++ #13
C++
1
2
3
int a,b;
cin>>a>>b;
cout<<__gcd(a,b);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2015, 14:41     Наибольший общий делитель на С++
Еще ссылки по теме:

C++ Наибольший общий делитель для последовательности
Найдите наибольший общий делитель C++
C++ Наибольший общий делитель

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

Или воспользуйтесь поиском по форуму:
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 574
Регистрация: 14.05.2014
Сообщений: 4,726
Записей в блоге: 1
Завершенные тесты: 5
08.11.2015, 14:41     Наибольший общий делитель на С++ #14
Цитата Сообщение от PaganGrinder Посмотреть сообщение
А что за условие такое - while (b) ?
в с/с++ все что не ноль, то - истина. Т.е. данное условие говорит: пока b не равно нулю, эквивалентно while (b != 0)
Yandex
Объявления
08.11.2015, 14:41     Наибольший общий делитель на С++
Ответ Создать тему
Опции темы

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