#include <stdio.h>
#include <stdlib.h>
#include <gmp.h>
int main(void)
{
char a[1000];
char b[1000];
scanf("%s", a);
scanf("%s", b);
mpz_t x;
mpz_t y;
mpz_t result;
mpz_init(x);
mpz_init(y);
mpz_init(result);
//mpz_set_str(x, "7612058254738945", 10);
//mpz_set_str(y, "9263591128439081", 10);
//10代表十进制
mpz_set_str(x, a, 10);
mpz_set_str(y, b, 10);
mpz_add(result, x, y);
gmp_printf("\n %Zd\n+\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_sub(result, x, y);
gmp_printf("\n %Zd\n-\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_mul(result, x, y);
gmp_printf("\n %Zd\n*\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_fdiv_q(result, x, y);
gmp_printf("\n %Zd\n/\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_fdiv_r(result, x, y);
gmp_printf("remainder:\t%Zd\n\n\n", result);
/* free used memory释放内存*/
mpz_clear(x);
mpz_clear(y);
mpz_clear(result);
return EXIT_SUCCESS;
}
#include <stdlib.h>
#include <gmp.h>
int main(void)
{
char a[1000];
char b[1000];
scanf("%s", a);
scanf("%s", b);
mpz_t x;
mpz_t y;
mpz_t result;
mpz_init(x);
mpz_init(y);
mpz_init(result);
//mpz_set_str(x, "7612058254738945", 10);
//mpz_set_str(y, "9263591128439081", 10);
//10代表十进制
mpz_set_str(x, a, 10);
mpz_set_str(y, b, 10);
mpz_add(result, x, y);
gmp_printf("\n %Zd\n+\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_sub(result, x, y);
gmp_printf("\n %Zd\n-\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_mul(result, x, y);
gmp_printf("\n %Zd\n*\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_fdiv_q(result, x, y);
gmp_printf("\n %Zd\n/\n %Zd\n--------------------\n%Zd\n\n", x, y, result);
mpz_fdiv_r(result, x, y);
gmp_printf("remainder:\t%Zd\n\n\n", result);
/* free used memory释放内存*/
mpz_clear(x);
mpz_clear(y);
mpz_clear(result);
return EXIT_SUCCESS;
}