欧基米得公式--减治

 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
",*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
",*b);
36 }
原文地址:https://www.cnblogs.com/mozhuhao/p/4505029.html