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

Даны числа, найти НОД - C++

Восстановить пароль Регистрация
 
nike01
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 51
23.04.2012, 15:29     Даны числа, найти НОД #1
Даны натуральные числа n,m; найти НОД(n,m). Использовать программу, включающую рекурсивную процедуру вычисления НОД, основанную на соотношении НОД(n,m)=НОД(m,r), где r – остаток от деления n на m.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 15:29     Даны числа, найти НОД
Посмотрите здесь:

Даны действительные числа x,y,z. Найти максимальное из них. C++
C++ Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать рекурсивную функцию вычисления НОД......
Даны 3 числа. Найти наибольшее из них (С++) C++
Даны три числа. Найти наименьшее из них. C++
Даны натуральные числа N и M(N > M).Найти сумму М последних цифр числа N. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
23.04.2012, 15:35     Даны числа, найти НОД #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
int GCD(int m, int n){
  return (m>n)?GCD(n, m%n):GCD(m, n%m):
}
int main(){
  int a, b;
  std::cout<<"Enter two numbers:";
  std::cin>>a>>b;
  std::cout<<"GCD="<<GCD(a, b)<<std::endl;
  return 0;
}
nike01
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 51
23.04.2012, 16:49  [ТС]     Даны числа, найти НОД #3
Спасибо, но он к условной(тернарной) операции придерается
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
23.04.2012, 17:01     Даны числа, найти НОД #4
ну раз ты знаешь, что это за операция, почему самостоятенльно не исправил? Ты вообще что ли Си не учил?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int GCD(int m, int n){
  if (m>n) return GCD(n, m%n);
       else return GCD(m, n%m);
}
int main(){
  int a, b;
  std::cout<<"Enter two numbers:";
  std::cin>>a>>b;
  std::cout<<"GCD="<<GCD(a, b)<<std::endl;
  return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
return (m>n)?GCD(n, m%n):GCD(m, n%m):
двоеточие вместо (; ) в конце по ошибке поставил
Yandex
Объявления
23.04.2012, 17:01     Даны числа, найти НОД
Ответ Создать тему
Опции темы

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