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.
int cmmdc (int a, int b) { while(b) { int r = a % b; a = b; b = r; } return a; } int cmmmc (int a , int b) { return a * b / cmmdc(a, b); } int resturi(int n , int x , int y , int r) { int val = cmmmc(x , y); n-=r; return n / val + 1; }