Cerința
Se dă un șir V. Știind V0 = 3 și regula de formare a șirului:
Vi = ([ Vi-1 * Vi-1 / (i + 2)] + V i-1 * i + i + 1) % 666013.
să se determine al n-lea termen al șirului. (unde [x] reprezintă partea întreagă a numărului x)
Date de intrare
Fișierul de intrare smen.in conține numărul n.
Date de ieșire
Fișierul de ieșire smen.out va conține al n-lea termen al șirului.
Restricții și precizări
1 ≤ n ≤ 20.000.000
Atenție la limitele de timp și de memorie!
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("smen.in");
ofstream fout("smen.out");
int n;
unsigned long long sm;
unsigned long long numere(int x)
{
unsigned long long rv=3;
int i=0;
while(x-- > 0)
{
i=i+1;
rv=(rv*rv/(i+2)+rv*i+i+1)%666013;
}
return rv;
}
int main()
{
fin>>n;
sm=numere(n);
fout<<sm;
return 0 ;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă