Se generează un şir de numere naturale ai cărui primi termeni sunt, în ordine:
1, 12, 21, 123, 231, 312, 1234, 2341, 3412, 4123, 12345, 23451,...
Cerinţe:
Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale k
, x
, a
şi b
şi care să determine:
a) ultima cifră a sumei tuturor termenilor şirului care sunt formaţi din cel mult k
cifre;
b) succesorul termenului x
în şirul dat, x
fiind un termen al şirului;
c) numărul de termeni ai şirului care au cifra cea mai semnificativă egală cu a
şi nu conţin în scrierea lor cifra b
.
Date de intrare
Fișierul de intrare sir5.in
conţine o singură linie pe care sunt scrise cele patru numere naturale k
, x
, a
şi b
, separate prin câte un spaţiu.
Date de ieșire
Fișierul de ieșire sir5.out
va conține 3 linii:
- pe prima linie se va scrie un număr natural reprezentând ultima cifră a sumei tuturor termenilor şirului care sunt formaţi din cel mult
k
cifre; - pe a doua linie se va scrie un număr natural reprezentând succesorul termenului
x
în şirul dat; - pe a treia linie se va scrie un număr natural reprezentând numărul de termeni ai şirului care au cifra cea mai semnificativă egală cu
a
şi nu conţin în scrierea lor cifrab
.
Restricții și precizări
- Numerele
k
,x
,a
şib
sunt naturale nenule 1 ≤ k ≤ 9
x
este un termen al şirului din enunţ şi are succesor în şir- succesorul termenului
x
în şir este termenul care urmează imediat dupăx
(de exemplu, dacăx=2341
atunci succesorului luix
în şir este3412
) 1 ≤ x < 900000000
1 ≤ a ≤ 9
;1 ≤ b ≤ 9
;a ≠ b
- cifra cea mai semnificativă a unui număr natural este prima cifră din scrierea sa, de la stânga la dreapta (de exemplu cifra cea mai semnificativă a numărului
32156
este3
) - Pentru rezolvarea cerinţei a) se acordă 30% din punctaj, pentru cerinţa b) 40% din punctaj şi pentru cerinţa c) 30% din punctaj.
Exemplu
sir5.in
3 45123 3 6
sir5.out
0 51234 3
Explicație
- Termenii şirului formaţi fiecare din cel mult
k=3
cifre sunt:1
,12
,21
,123
,231
,312
. Suma lor fiind egală cu700
, pe prima linie a fişierului sir5.out se va scrie cifra0
(ultima cifră a sumei). - Succesorul termenului
45123
este51234
, valoare care se va scrie pe a doua linie a fişieruluisir5.out
. - Sunt
3
numere care încep cu cifra3
şi care nu conţin cifra6
şi anume:312
,3412
,34512
. Astfel, numărul3
se scrie pe a treia linie a fişieruluisir5.out
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Sir5:
/* autor prof.Minca Carmen
Liceul Teoretic "Ion Neculce" Bucuresti */
#include<fstream>
using namespace std;
int main()
{
ofstream g("sir5.out");
long x,y,p=1,z;
int k,s=0,a,b,i,c,sa;
ifstream f("sir5.in");
f>>k>>x>>a>>b;
s=1; sa=1;
for(i=2;i<=k;i++)
{
s=(s+sa+i)%10;
sa=(sa+i)%10;
}
g<<s<<endl;
//cerinta b)
y=x; k=1;
while(y>9)
{ k++; y/=10; p=p*10; }
if(y==k)
{ z=0;
for(i=1;i<=k+1; i++)
z=z*10+i;
}
else z=(x%p)*10+y;
g<<z<<endl;
//cerinta c)
if(a<b) g<<b-a;
else g<<0;
f.close();
g.close();
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1083 Sir5
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1083 Sir5 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!