当数组元素的值超过long long的范围,输出无结果,该怎么处理

 

这样就行不用数组:

#include <iostream>

using namespace std;

long long n,a=1,b=1,c=1,sum=0;

long long ans(int num){
	if(num<4)
		return 1;
	else{
		for(int i=3;i<num;i++){
			sum=(a+b+c)%10000;
			a=b;
			b=c;
			c=sum;
		}
		return sum;
	}
}

int main(){
    cin>>n;
	cout<<ans(n)+90000<<endl;
	return 0;
}

比较简单啊,只需要最后四位的话,你不需要记录前面更多的位数,当值大于10000时,你就把值求余10000就行了