Cu ajutorul a trei cifre date a
, b
, c
, unde a > 0
, se construieşte următorul şir de numere:
\( a, \overline{ab}, \overline{abc}, \overline{abca}, \overline{abcab}, \overline{abcabc}, … \). De exemplu, pentru a=1
, b=3
, c=7
, putem construi şirul:
1,13,137, 1371,13713, 137137, 1371371, 13713713, ...
Cerința
Scrieţi un program care determină câte numere divizibile cu k
se găsesc în primii n
termeni ai şirului dat.
Date de intrare
Fișierul de intrare sirdivk.in
conține pe prima linie numerele a b c n k
.
Date de ieșire
Fișierul de ieșire sirdivk.out
conţine o singură linie pe care este scris numărul nr
de numere divizibile cu k
aflate printre primii n
termeni ai şirului dat.
Restricții și precizări
1 < n < 1000
2 ≤ k < 32000
1 ≤ a ≤ 9
,0 ≤ b,c ≤ 9
Exemplu
sirdivk.in
7 2 1 8 3
sirdivk.out
2
Explicație
Printre primii 8
termeni ai şirului: 7, 72, 721, 7217, 72172, 721721, 7217217, 72172172,...
există doi termeni divizibili cu 3
.
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 sirdivk:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c, n, k, nr, t, i, r;
ifstream f("sirdivk.in");
ofstream g("sirdivk.out");
f >> a >> b >> c >> n >> k;
nr = t = 0;
for(i = 1; i <= n; i++)
{
r = i % 3;
if (r == 1) r = a;
else if(r == 2) r = b;
else r = c;
t = (t * 10 + r) % k;
if (t == 0) nr++;
}
g << nr << "\n";
g.close();
f.close();
return 0;
}
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 #2213 sirdivk
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2213 sirdivk 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!