辗转相除法
1 #include <cstdio> 2 int gcd(int a,int b) 3 { 4 return b==0?a:gcd(b,a%b); 5 } 6 int gcd1(int a,int b) 7 { 8 if(a==0)return b; 9 if(b==0)return a; 10 if(a<b) return gcd(a,b-a); 11 else return gcd(b,a-b); 12 } 13 int gcd3(int a,int b) 14 { 15 while(a!=0&&b!=0){ 16 if(a<b) b=b-a; 17 else {int t;t=a;a=b;b=t-b;} 18 } 19 if(a==0)return b; 20 else return a; 21 } 22 int main(){ 23 int a;int b; 24 while(scanf("%d%d",&a,&b)!=EOF){ 25 printf("%d %d %d\n",gcd1(a,b),gcd(a,b),gcd3(a,b)); 26 } 27 28 return 0; 29 } 30 #include<stdio.h> 31 int main() 32 { 33 int a,i,b,s,c,max,min,d; 34 while(scanf("%d%d",&a,&b)!=EOF) 35 { 36 if(a<b) 37 { 38 s=a; 39 a=b; 40 b=s; 41 } 42 if(b==0&&a!=0) 43 printf("%d %d\n",0,b); 44 if(a==b) 45 printf("%d %d\n",a,b); 46 max=a; 47 min=b; 48 if(a>b&&b!=0) 49 { 50 while(a!=0&&b!=0) 51 { 52 c=a; 53 a=a%b; 54 if(a!=0) 55 { 56 c=a; 57 b=b%a; 58 } 59 if(b!=0) 60 { 61 c=b; 62 } 63 } 64 printf("%d %d\n",c,max*min/c); 65 } 66 } 67 return 0; 68 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架