救命
  • 板块P5136 sequence
  • 楼主OIer_wyh
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/5/14 21:32
  • 上次更新2024/5/15 10:57:41
查看原帖
救命
965695
OIer_wyh楼主2024/5/14 21:32

有没有逼神,帮我看看快速幂做的为啥老是爆负数?

#include<bits/stdc++.h>
using namespace std;
const double N=((sqrt(5)+1)/2);
const int mod=998244353;
long long fpow(double n,long long m) {
	if(m==1) {
		return int(ceil(n))%mod; 
	}
	else if(m==0) {
		return 1;
	}
	if(m%2) {
		return int(ceil(n*fpow(n,m-1)))%mod;
	}
	else return fpow(n*n,m/2)%mod;
}
signed main() {
	long long n;
	cin>>n;
	while(n--) {
		long long t;
		cin>>t; 
		cout<<fpow(N,t)%mod<<"\n";
	}
	return 0;
}
2024/5/14 21:32
加载中...