Pagini recente » Clasament simulare9 | Cod sursa (job #1395667) | Cod sursa (job #2637430) | Cod sursa (job #207604) | Cod sursa (job #2645652)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int nrcifzero(long long int n, int& ucEL)
{
int nr = 0;
while (n && n % 10 == 0)
{
nr++;
n /= 10;
}
ucEL = n % 10;
return nr;
}
int main()
{
long long int el, n, rezultat;
int uc, ucEl, limita, nr0;
fin >> n;
vector<long long int> v;
v.push_back(1);
v.push_back(5);
v.push_back(10);
limita = 2;///am deja raspunsul pana la 2 de 0 la final
uc = 8;///ultima cifra(de la stanga la dreapta) care nu e 0 pentru 10!
el = 11;///urmatorul dupa 10
if (n < 3)
{
fout << v[n];
return 0;
}
while (limita != n)
{
rezultat = el * uc;
uc = rezultat % 10;
if (uc == 0)
{
int plus = nrcifzero(rezultat, uc);
if (plus == 0)
plus = 1;
v.push_back(el);
limita += plus;
}
el++;
}
fout << v.back();
}