查了一些关于记忆化的写法教程 但是有点听不懂是怎么把计算结果放到数组里调用的 求助大佬解答 阿里嘎多!
#include <bits/stdc++.h>
using namespace std;
int fuck[10086];
int f(int n){
if(n==1||n==2) return 1;
else fuck[n]=f(n-1)+f(n-2);
return fuck[n];
}
bool prime(int n){
if(n==2) return true;
for(int i=2;i*i<=n;i++){
if(n%i==0) return false;
}
return true;
}
void p(int n){
int cnt=0;
for(int i=2;i<=n;i++){
while(n%i==0){
if(n%i==0 && prime(i)) {
if(cnt==0){
cout<<i;
cnt++;
}
else cout<<"*"<<i;
}
n/=i;
}
}
}
int main(){
int n,sum;
cin>>n;
sum=f(n);
cout<<sum<<"=";
p(sum);
}