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); }