müssen wir http://oeis.org/A028859n-te Glied der Reihe
n < = 1000000000
die n-te Glied dieser Serie finden Sie Antwort 1000000007 Modulo sollte
ich habe den Code geschrieben, aber Frist überschreitet, wenn na ist eine riesige Nummer.
#include<iostream>
using namespace std
int main()
{
long long int n;
cin>>n;
long long int a,b,c;
a=1;
b=3;
int i;
for(i=3;i<=n;i++)
{
c=(2ll*(a+b))%1000000007;
a=b;
b=c;
}
cout<<c;
}
Jede Chance, Sie in einem saubereren Code Probe als diese, die über geeignete Vertiefung und die Vermeidung des übermäßigen Leerraum einfügen könnte? –
Was hat das mit dynamischer Programmierung zu tun? – Mathias
Versuchen Sie, die rekursive Version dieses Algorithmus und Sie werden verstehen, wie dies ein dynamischer Programmieralgorithmus ist. Grundsätzlich speichern wir die berechneten Werte von n-1 und n-2. Sagen wir, es ist eine grundlegende Version von DP. –