# PBinfo #977 – Numere5 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Se generează un şir de numere naturale ai cărui primi termeni sunt, în această ordine: 

1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4,...
Cerinţe
Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale n, k şi p şi care să determine:

a) suma tuturor numerelor prime aflate printre primii n termeni ai şirului din enunţ; 
b) numărul de apariţii ale cifrei k printre primii n termeni ai şirului din enunţ;
c) cel de-al p-lea termen al şirului din enunţ.

Date de intrare
Programul citește de la tastatură cele trei trei numere naturale n, k şi p.

Date de ieșire
Programul va afișa pe ecran, în această ordine:


un număr natural reprezentând suma tuturor numerelor prime aflate printre primii n termeni ai şirului din enunţ
numărul de apariţii ale cifrei k printre primii n termeni ai şirului din enunţ
cel de-al p-lea termen al şirului din enunţ

Restricții și precizări

Numerele n, k şi p sunt naturale
3 ≤ n ≤100
0 ≤ k ≤ 9
1≤ p ≤ 2000000000
pentru rezolvarea cerinţei a) se acordă 40% din punctaj, pentru cerinţa b) 20% din punctaj şi pentru cerinţa c) 40% din punctaj.

Exemplu:
Intrare

19 5 26
Ieșire

47
3
8

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
	int a,b,c,n,i,k,s=0,nr=0,y;
	int p;
	cin>>n>>k>>p;
	a=1; b=2;  y=p%60;
	if(a==k)nr++;
	if(b==k)nr++;
	s=2;
	for(i=3;i<=n;i++)
	{
		c=(a+b)%10;  
		a=b; b=c;
		if((c==2)||(c==3)||(c==5)||(c==7))s=s+c;
		if(c==k)nr++;
	}
	a=1; b=2;
	if(y==1)
		c=a;
	else
		if(y==2)
			c=b;
		else
		{
			if(y==0)
				y=60;
			for(i=3;i<=y;i++)
			{
				c=(a+b)%10;  
				a=b; b=c;
			}
	}
	cout<<s;
	cout<<endl<<nr;
	cout<<endl<<c;
	return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/977)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/977/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-977/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
