求怎么写记忆化递归
查看原帖
求怎么写记忆化递归
1810496
Scalue楼主2025/8/2 16:27

查了一些关于记忆化的写法教程 但是有点听不懂是怎么把计算结果放到数组里调用的 求助大佬解答 阿里嘎多!

#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);
    
}
2025/8/2 16:27
加载中...