c语言递归求最大公约数