求剪枝!!!
查看原帖
求剪枝!!!
966108
jjhjiangjunhao楼主2023/10/15 09:56
#include<bits/stdc++.h>
#include<cmath>
using namespace std;
long long ans,a=1,b=0,Index;
int func(int a){
	for(int i=2;i<=sqrt(a);i++){
		if(a%i==0) return i;
	}
	return a;
}
int main(){
	scanf("%d",&Index);
	for(int i=0;i<Index;i++){
		ans=(a+b)%2147483648;
		a=b;
		b=ans;
	}
	if(2>sqrt(ans)){
		printf("%d=%d",ans,ans);
		return 0;
	}
	printf("%d=",ans);
	while(ans-1){
		int n=func(ans);
		if(n==ans){
			printf("%d",n);
		}
		else{
			printf("%d*",n);
		}
		ans/=n;
	}
	return 0;
} 
2023/10/15 09:56
加载中...