Даны натуральные числа X и Y. Вычислить их наибольший общий делитель - C (СИ)

Узнай цену своей работы

Формулировка задачи:

помогите пожалуйста составить программу.у меня есть примерный код,но в нем пользователь вводит 3 числа ,а надо 2 Даны натуральные числа X и Y. Вычислить их наибольший общий делитель
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
int Nod(int a,int b,int *nod);

int main(void)
{
setlocale(LC_CTYPE,"Russian");  
int a,b,c,nod;
printf("Введите 2 числа:\n");
scanf("%d%d",&a,&b);
if(a<0)a=-a;
if(b<0)b=-b;
 
   Nod(a,Nod(b,c,&nod),&nod);
 printf("\n\n%d  \n",nod);
 
return 0;
}

int Nod(int a,int b,int *nod)
   { 
     while(a!=0 &&  b!=0)
       {if(a>b)a%=b; else b%=a;}
       
  return *nod=a+b; }

Решение задачи: «Даны натуральные числа X и Y. Вычислить их наибольший общий делитель»

textual
Листинг программы
#include <stdio.h>
 
int NOD (int a,int b)
{
    int c;
    if (a<b) b-=a,a+=b,b=a-b; //делаем так,чтобы a в любом случае было больше b
    c=a%b;
    if (c==0) return b;
        else NOD (b,c);
}
 
int main ()
{
   int A=0,B=0;
 
   printf ("Введите A и B: ");  
   scanf ("%d %d",&A,&B);
        
   printf("НОД A и B =%d",NOD(A,B));
 
return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы