516
Se generează un şir de cifre ai cărui primi termeni sunt, în această ordine:
Exemplu
Intrare
19 4 26
Ieșire
5 7
Explicație
Primii 19 termeni ai şirului sunt: 1,1,2,4,7,3,4,4,1,9,4,4,7,5,6, 8,9,3,0.
Primul număr afişat este 5, deoarece sunt 5 cifre din șir egale cu k (k=4) printre primii n=19 termeni ai şirului.
Al doilea număr afişat este 7, deoarece cel de-al p-lea (p=26) termen al şirului este 7.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int p , a , b , c , d , n , i , k , nr = 0 , y;
cin >> n >> k >> p;
a = 1;
b = 1;
c = 2;
y = p % 124;
if(a == k)
nr ++;
if(b == k)
nr ++;
if(c == k)
nr ++;
for(i = 4 ; i <= n ; i ++)
{
d = (a + b + c) % 10;
a = b;
b = c;
c = d;
if(d == k)
nr ++;
}
a = 1;
b = 1;
c = 2;
if(y == 1)
d = a;
else if(y == 2)
d = b;
else if(y == 3)
d = c;
else
{
if(y == 0)
y = 124;
for(i = 4 ; i <= y ; i++)
{
d = (a + b + c) % 10;
a = b;
b = c;
c = d;
}
}
cout << nr << endl << d <<endl;
return 0;
}
Comentarii