GCC官方提供了
int128 (有符号128位整数)
uint128 (无符号128位整数)
两种变量类型, 但是windows环境下大多编译器无法编译
OnlineJudge 主要是linux环境 所以平时用ubuntu / linux环境的在线编译器 刷题还是比较贴近竞赛环境的
GCC库自带 IO 没有提供对 int128环境的支持 所以需要自己编译读入读出
模板:
void read_128(int128 &ret)
{
ret = 0;
int128 f = 1;
char ch = getchar();
while(ch < '0' || ch > '9') if(ch == '-') f = -1, ch = getchar();
while(ch >= '0' && ch <= '9') ret = ret * 10 + (ch - '0'), ch = getchar();
ret *= f;
}
void write_128(int128 a)
{
if(a < 0) putchar('-'), a *= -1;
if(a >= 10) write_128(a / 10);
putchar(a % 10 + '0');
}
int main()
{
int128 a, b;
read_128(a);
read_128(b);
a *= b;
write_128(a);
return 0;
}