__int128的输入输出(快读快输)

引言:__int128不能用\(cin\)\(cout\)\(scanf\)\(printf\)

快读

思想:把每一个字符读入,组成数字。

int read(){
	int x = 0,y = 1;//x代表那个数的绝对值,y代表符号
	char ch = getchar();
	while(ch < '0'||ch > '9'){//如果字符不是数字
		if(ch == '-') y = -1;//负号
		ch = getchar();
	}
	while(ch >= '0'&&ch <= '9'){//如果字符是数字
		x = x*10+ch-48;//加到x中
		ch = getchar();
	}
	return x*y;
}

快输

思路:转成字符输出

void print(int x){
	if(x < 0){//如果为负,先输出符号
		cout << '-';
		x = -x;
	}
	if(x > 9) print(x/10);//递归输出前面
	putchar(x%10+'0');//输出最后一位
}
posted @ 2024-06-12 21:21  校牌杀手  阅读(197)  评论(0编辑  收藏  举报