#include<stdio.h>
int common(int x, int y);
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int t=common(n,m);
printf("%d",t);
return 0;
}
int common(int x, int y)
{
if(x==y)
return x;
if(x>y)
{
x/=2;
common(x,y);
}
if(x<y)
{
y/=2;
common(x,y);
}
}
后面两种情况没有return
#include <stdio.h>
int common(int x, int y);
int main()
{
int n, m;
scanf("%d %d", &n, &m);
int t = common(n, m);
printf("%d", t);
return 0;
}
int common(int x, int y)
{
if (x == y)
return x;
else if (x > y)
{
x /= 2;
return common(x, y);
}
else
{
y /= 2;
return common(x, y);
}
}