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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 127, средняя оценка - 4.87
NASri
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 4
#1

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

15.03.2011, 20:19. Просмотров 19714. Ответов 13
Метки нет (Все метки)

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

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

Наибольший общий делитель - C++
Помогите в написании программы, которая вычисляет наибольший общий делитель двух заданных с клавиатуры чисел A и B, и выводит его на...

Наибольший общий делитель - C++
Описать рекурсивную функцию NOD(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел A и B,...

Наибольший общий делитель - C++
Задача на программирование: наибольший общий делитель По данным двум числам 1≤a,b≤2⋅10^9 найдите их наибольший общий делитель. ...

наибольший общий делитель - C++
Написать программу, которая рекурсивно вычисляет (наибольший общий делитель) НОД (a,b), где целые числа a и b вводятся пользователем

Наибольший общий делитель - C++
Написать программу на языке С, которая рекурсивно вычисляет(наибольший общий делитель) НОД(a,b), где a и b целый числа вводяться...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
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
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
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
1155 / 960 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
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
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.03.2011, 20:42 #6
Цитата Сообщение от NASri Посмотреть сообщение
эта программа не работает
Это не програма, это только функция, которая Вам была нужна.
Day
1155 / 960 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
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
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
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
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
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
556 / 437 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
08.11.2015, 14:38 #13
C++
1
2
3
int a,b;
cin>>a>>b;
cout<<__gcd(a,b);
Kerry_Jr
Модератор
Эксперт PHP
2186 / 1982 / 692
Регистрация: 14.05.2014
Сообщений: 5,792
Записей в блоге: 1
Завершенные тесты: 5
08.11.2015, 14:41 #14
Цитата Сообщение от PaganGrinder Посмотреть сообщение
А что за условие такое - while (b) ?
в с/с++ все что не ноль, то - истина. Т.е. данное условие говорит: пока b не равно нулю, эквивалентно while (b != 0)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2015, 14:41
Привет! Вот еще темы с ответами:

Наибольший общий делитель (НОД) - C++
Вычислить наибольший общий делитель элементов целочисленного списка.

Найдите наибольший общий делитель - C++
Найдите наибольший общий делитель и наименьшее общее кратное двух натуральных чисел, учитывая что выполняется равенство : ...

Найти наибольший общий делитель - C++
помогите написать программу на С ++ задано 2 целые числа m и n, найти их наибольший общий делитель d и целые числа a и b такие, что d =...

Найти наибольший общий делитель чисел - C++
Найти наибольший общий делитель чисел M и N используя метод Эйлера: если M делится на N, то НОД (N, M) = N, иначе НОД (N, M) = НОД (M % N,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.11.2015, 14:41
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru