Алгоритм Евклида - правильно ли написана рекурсивная функция? - C (СИ)
Формулировка задачи:
Помогите, правильно ли написана рекурсивная функция??
#include "stdafx.h"
#include <stdio.h>
int NOD(int a, int b);
int main(void)
{
int x,y;
scanf("%d",&x);
scanf("%d",&y);
printf("%d\n",NOD(x,y));
}
int NOD(int a, int b)
{
while (a!=0 && b!=0)
{
if (a>b)
{
a=a%b;
return a;
}
else b=b%a;
return b;
}
}Решение задачи: «Алгоритм Евклида - правильно ли написана рекурсивная функция?»
textual
Листинг программы
int NOD(int a, int b)
{
if (a == 0)
return b;
return NOD(b % a, a);
}