3195:最大公约数
- 总时间限制:
- 1000ms 内存限制:
- 65536kB
- 描述
- 输入2个正整数,求出他们的最大公约数。 输入
- 输入两个正整数,只有一行,整数之间用一个空格分开 输出
- 输出最大公约数,只有一行,包括三个数据,分别为采用十进制,十六进制和八进制表示的最大公约数,输出数据之间用空格隔开
3 9
样例输出3 0x3 03
提示- 注意十六进制,八进制的表示格式
- 求最大公约数,使用欧几里得算法,也就是辗转相除法,使用递归直接套模板:
#include<iostream> #include<stdio.h> #include<string.h> using namespace std; int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b); } int main(){ int a,b; scanf("%d %d",&a,&b); int ans=gcd(a,b); printf("%d ",ans); printf("0x%x ",ans); printf("0%o",ans); }