Cerința
Subprogramul resturi
are patru parametri, n
, x
, y
și r
, prin care primește câte un număr natural din intervalul [1,10
9
]
, r<x<y<n
. Subprogramul returnează numărul de valori naturale din intervalul [1,n]
pentru care atât restul împărțirii la x
, cât și restul împărțirii la y
, sunt egale cu r
.
Scrieţi definiţia completă a subprogramului.
Restricții și precizări
1 ≤ r<x<y<n ≤ 10
9
- ordinea parametrilor este
n x y r
Exemplu
Pentru n=200
, x=5
, y=14
și r=2
, subprogramul returnează numărul 3
(pentru numerele 2
, 72
și 142
atât restul împărțirii la 5
, cât și restul împărțirii la 14
, este 2
).
Important
Soluția propusă va conține definiția subprogramului cerut. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.
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 Resturi1 :
int resturi(int n, int x, int y, int r)
{
int cx = x, cy = y;
while(cy != 0)
{
int cr = cx % cy;
cx = cy;
cy = cr;
}
long long m = x / cx * y;
int cnt = n / m;
if(r > 0 && cnt * m + r <= n)
cnt ++;
return cnt;
}
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 #2795 Resturi1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2795 Resturi1 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!