fbpx

Problema #951 – Cifre7 – Rezolvari PBInfo

de Mihai-Alexandru

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

S-ar putea sa iti placa