Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2009, 16:58   #1
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
Вопрос Алгоритм Евклида.Нахождение НОД

Помогите пожалуйста с программой наибольшего общего делителя.А то я уже запуталась, у меня есть код для НОД(найменшего общего делителя).Если нужно я віложу,может можно как-то его переделать?
innaa639 вне форума Ответить с цитированием
Старый 23.11.2009, 17:02   #2
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Цитата:
Сообщение от innaa639 Посмотреть сообщение
Помогите пожалуйста с программой наибольшего общего делителя.А то я уже запуталась, у меня есть код для НОД(найменшего общего делителя).Если нужно я віложу,может можно как-то его переделать?
Можно узнать имя того горе-университета, в котором НОД - это найменьший общий делитель? Или Вы неверно выразились, или Ваша проблема уже решена.
LeBron вне форума Ответить с цитированием
Старый 23.11.2009, 17:05   #3
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

А разве не наибольший общий делитель, в то время как НОК-наименьшее общее кратное. Или я ошибаюсь?
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 23.11.2009, 17:10   #4
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
По умолчанию

Вообщем это неважно, помогите мне нужно найти наибольший общий делитель двух чисел
Например 12 и 36, НОД равен 12
Только еще нужно учесть что если вводятся не числа а символы что б программа закрывалась)
innaa639 вне форума Ответить с цитированием
Старый 23.11.2009, 17:13   #5
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Код:
var a,b:Integer;
function NOD(x,y:Integer):Integer;
 begin
  if x<>0 then NOD:= NOD(y mod x,x) else NOD:= y;
 end;

Begin
 Write('Введите a и b: ');   
 Readln(a,b);
 Writeln('НОД ',a,' и ',b,' = ', NOD(a,b));
Readln;
End.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 23.11.2009, 17:27   #6
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
По умолчанию

Цитата:
Сообщение от russian-stalker Посмотреть сообщение
Код:
var a,b:Integer;
function NOD(x,y:Integer):Integer;
 begin
  if x<>0 then NOD:= NOD(y mod x,x) else NOD:= y;
 end;

Begin
 Write('Введите a и b: ');   
 Readln(a,b);
 Writeln('НОД ',a,' и ',b,' = ', NOD(a,b));
Readln;
End.
Извини,пожалуйста,но мне нужна прога на С++
innaa639 вне форума Ответить с цитированием
Старый 23.11.2009, 17:36   #7
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
int NOD(int a, int b)
 {
    // пока числа не равны 0
    while(a!=0 && b!=0)
    {
       if(a>=b) a=a%b;
           else b=b%a;
    }
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 23.11.2009, 17:40   #8
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
Сообщение

Такой кусочек и у меня есть,мне нужна полная программа и обширнее написано,это очень элементарно
innaa639 вне форума Ответить с цитированием
Старый 23.11.2009, 17:43   #9
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
мне нужна полная программа и обширнее написано
а мне нужен
Цитата:
Nissan 350Z и интернет 1Тб/c есть вариант?
ну раз там элементарно то как вам этот вариант?
PHP код:
#include "iostream"
 
using namespace std;
 
 
int gcd(int uint v);
 
 
int main()
{
    
int u;
    
int v;
 
cout << "Numbers should lay in [0; MAXINT] interval." << endl;
cout << "Enter 1st number: " << endl
cin >> u;
 
    if (
0)
    {
        
cout << "Incorrect value." << endl;
        
cout << "Press any key to exit." << endl;
 
system("PAUSE");
     exit(
1);
    }
 
cout << "Enter 2nd number: " << endl
    
cin >> v;
     if (
0)
    {
        
cout << "Incorrect value." << endl;
        
cout << "Press any key to exit." << endl;
        
system("PAUSE");
     exit(
2);
    }
    
cout << "Greatest common dividor is: " << gcd(uv) << endl;
    
system("PAUSE");
    return 
0;

int gcd(int uint v)
{
    
int shift;
    if (
== || == 0)
        return 
v;
    for (
shift 0; ((v) & 1) == 0; ++shift
        {
            
>>= 1;
            
>>= 1;
        }
 
        while ((
1) == 0)
        
>>= 1;
 

        do 
        {
        while ((
1) == 0)  
            
>>= 1;
 
        if (
v
            {
            
-= u;
            } 
        else 
    {
        
int diff v;
            
v;
            
diff;
        }
        
>>= 1;
     } 
     while (
!= 0);
     return 
<< shift; } 
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.

Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 23.11.2009 в 17:49.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 23.11.2009, 17:46   #10
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
По умолчанию

и за этот код благодарю)

Последний раз редактировалось innaa639; 24.11.2009 в 00:18.
innaa639 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл с постусловием. Алгоритм Евклида. BioVis Паскаль, Turbo Pascal, PascalABC.NET 5 31.10.2008 16:29
НОД в Delphi AnK0r Общие вопросы Delphi 3 06.12.2007 23:03