Răspuns :
Salut!
Ai rezolvarea in C++ mai jos
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d, s1 = 0, s2 = 0;
cin >> a >> b >> c >> d;
s1 = b / 3 - (a - 1) / 3;
s2 = d / 3 - (c - 1) / 3;
cout << s1 + s2;
return 0;
}
- Explicatie:
Iterand de la a la b si de la c la d calculand numerele nu ne va intra in limita de timp, asadar folosim un algoritm eficient care suna cam asa:
Fie:
A = a * 3
B = b * 3
Numarul de numere divizibile cu 3 intre a si b va fi egal cu b - a
Exemplu:
A = 10
B = 70
atunci a = 3 si b = 23
Asadar numarul de numere divizibile cu 3 vor fi: 23 - 3 = 20
Explicație:
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << b / 3 - ( a - 1 ) / 3 + d / 3 - ( c - 1 ) / 3;
return 0;
}
o amărâtă de formula pe care n-ai cum sa o știi dinainte...