为什么我的快速幂做法第8个点WA了?
查看原帖
为什么我的快速幂做法第8个点WA了?
505294
Ted_Algorithm楼主2022/10/29 17:33

代码如下:


#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll __int128
using namespace std;

ll a,b,ans;

void prt(ll x){
	if (x>=10) prt(x/10);
	putchar(x%10+'0');
}

int main(){
	scanf("%lld%lld",&a,&b);
	ans=1;
	while (b){
		if (b&1){
			ans=ans*a;
			if (ans>1e9){
				printf("-1");
				return 0;
			}
		}
		b=b/2;
		a=a*a;
	}
	prt(ans);
	return 0;
}

求调

2022/10/29 17:33
加载中...