首先,我们需要定义一个结构体来存储高精度数据:
#define MAX_LEN 10000 // 定义最大位数
typedef struct {
int num[MAX_LEN]; // 存储每一位数字
int len; // 当前数字的位数
} bignum;
然后,我们可以定义一个函数来计算两个高精度数的最大公约数:
bignum gcd(bignum a, bignum b) {
bignum r;
while (b.len >
首先,我们需要定义一个结构体来存储高精度数据:
#define MAX_LEN 10000 // 定义最大位数
typedef struct {
int num[MAX_LEN]; // 存储每一位数字
int len; // 当前数字的位数
} bignum;
然后,我们可以定义一个函数来计算两个高精度数的最大公约数:
bignum gcd(bignum a, bignum b) {
bignum r;
while (b.len >