Даны натуральные числа 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д