欧基米得公式--减治

 1 #include<stdlib.h>

 2 #include<stdio.h>

 3 void ojmd(int *a,int *b);

 4 

 5 void ojmd_dg(int *a,int *b);

 6 

 7 int main(void){

 8     int a=12;

 9     int b=6;

10     ojmd(&a,&b);

11 

12     a=12;

13     b=10;

14     ojmd_dg(&a,&b);

15     return 0;

16 }

17 

18 void ojmd_dg(int *a,int *b){

19     int r=*a%*b;

20     if(r==0){

21         printf("%d\n",*b);

22         return ;

23     }else{

24         ojmd(b,&r);

25     }

26 }

27 

28 void ojmd(int *a,int *b){

29     int r=*a%*b;

30     while(r!=0){

31         *a=*b;

32         *b=r;

33         r=*a%*b;

34     }

35     printf("%d\n",*b);

36 }

 

你可能感兴趣的:(欧基米得公式--减治)