Даны натуральные числа 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;
}