66pts,#3#6RE,改了p数组大小之后CE(不是MLE),求大佬指点
查看原帖
66pts,#3#6RE,改了p数组大小之后CE(不是MLE),求大佬指点
807670
francais楼主2023/8/19 18:31
#include<iostream>
using namespace std;
long long n,a[100000005],f[500],tmp,cnt,num;
bool p[2147483647];
int fib(int m)
{
	f[1]=f[2]=1;
	for(int i=3;i<=m;i++)
	{
		f[i]=f[i-1]+f[i-2];
		f[i]%=2147483648;
	}
	return f[m];
}
int main()
{
	cin>>n;
	tmp=fib(n);
	for(int i=2;i<=tmp;i++)
	{
		if(p[i]==false) a[cnt++]=i;
		for(int j=0;j<cnt;j++)
		{
			if(i*a[j]>tmp) break;
			p[i*a[j]]=true;
			if(i%a[j]==0) break;
		}
	}
	cout<<tmp<<"=";
	num=0;
	for(int i=0;i<cnt and tmp>1;i++)
	{
		while(tmp%a[i]==0)
		{
			if(num) cout<<"*";
			cout<<a[i];
			num++;
			tmp/=a[i];
		}
	}
	return 0;
}
2023/8/19 18:31
加载中...