(来源网络)求两个整数的最大公约数

xiaoxiao2021-02-28  47

#include<stdio.h>   int m, n, a, b;   void fuction1(int a,int b )  /* 相减法求最大公约数 */   {       m=a; n=b;         /* a, b不相等,大数减小数,直到相等为止。*/       while ( a!=b)             if (a>b)  a=a-b;                 else  b=b-a;     printf("第一种算法求得最大公约数为:%d\n", a);   }   void fuction2 (int a,int b)  /* 穷举法求最大公约数 */   {     int t;    m=a;  n=b;       for (int i=1; i<= a; i++)            if ( a%i == 0 && b%i ==0 ) t=i;      printf("第二种算法求得最大公约数为:%d\n", t);     void fuction3(int a,int b)   /*  辗转相除法求最大公约数 */    {  int c;    m=a;n=b;      while(b!=0)  /* 余数不为0,继续相除,直到余数为0 */       { c=a%b; a=b;  b=c;}      printf("第三种算法求得最大公约数为:%d\n", a);   } void main()   printf("请输入两个整数,并用逗号分隔开:\n"); scanf ("%d,%d", &a, &b);     fuction1(a,b);     fuction2(a,b);     fuction3(a,b); }     
转载请注明原文地址: https://www.6miu.com/read-2630921.html

最新回复(0)