关于freopen
  • 板块学术版
  • 楼主iDylan
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/1/27 16:05
  • 上次更新2023/10/28 10:45:13
查看原帖
关于freopen
478801
iDylan楼主2022/1/27 16:05

想问一下为什么同一份代码,开了freopen会RE,关了就没问题

#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
const int N=25e6;
int a1,a2,a3,a4,a5,sum[N+329],k;
long long ans;
inline bool check(long long x){
	if(x==2||x==3)return true;
	int t=sqrt(x);
	for(int i=2;i<=t;++i)
		if(x%i==0)	
			return false;
	return true;
}
inline long long findprime(){
	for(int i=k;i>=2;--i){
		if(check(i))
			return i;
	}
}
int main(){
	//freopen("t2.in","r",stdin);
	//freopen("t2.out","w",stdout);
	scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&k);
	long long p=findprime();
	for(int i=-50;i<=50;++i){
		if(!i)
			continue;
		for(int j=-50;j<=50;++j){
			if(!j)
				continue;
			++sum[(-(a1*i*i*i+a2*j*j*j)+N)%N];
		}			
	}
	for(int i=-50;i<=50;++i){
		if(!i)
			continue;
		for(int j=-50;j<=50;++j){
			if(!j)
				continue;
			for(int k=-50;k<=50;++k){
				if(!k)	
					continue;
				ans+=sum[(a3*i*i*i+a4*j*j*j+a5*k*k*k+N)%N];
			}
		}
	}
	cout<<ans-ans/p*p;
	return 0;
}
2022/1/27 16:05
加载中...