代码优化求助
查看原帖
代码优化求助
1400268
WWNNL楼主2024/7/27 01:37

优化求助

还有12ms的天才 QWQ
为什么我只能到15ms 太废了

#include <iostream>
using namespace std;

//int Fib(int n){
//    int s;
//    if(n==1||n==2)  s=1;
//    else{
//        s=Fib(n-1)+Fib(n-2);
//    }
//    return s;
//}

int Fib(int n) {
    if (n <= 1) return n;

    int prev = 0, curr = 1;
    for (int i = 2; i <= n; ++i) {
        int next = prev + curr;
        prev = curr;
        curr = next;
    }
    return curr;
}

int up(int x,int k,int a){
    return Fib(x-1)*k+Fib(x-2)*a;
}

int main() {
    int a,n,m,x;
    cin>>a>>n>>m>>x;
    if(x==1||x==2)
    {
        cout<<a;
        return 0;
    }
    n--;
    int k=((Fib(n-2)+1)*a-m)/(1-Fib(n-1));
    int t=n;
    for(int i=0;i<n-x;i++)
        m-=up(t---2,k,a);
    cout<<m;
    return 0;
}

有好心大佬帮我康康还有哪能优化吗

2024/7/27 01:37
加载中...