Cerința
Avem la dispoziție un chenar dreptunghiular format din oglinzi. O rază de lumină pornește din colțul stânga jos al dreptunghiului sub un unghi de 45 de grade față de latura de jos a dreptunghiului și lovește latura de sus sau latura din dreapta. Aici se reflectă (pornește spre o altă latură tot sub un unghi de 45 de grade față de latura de care s-a lovit). Își continuă drumul până când ajunge într-un colț al dreptunghiului.
Date de intrare
Programul citește de la tastatură dimensiunile chenarului a și b.
Date de ieșire
Programul va afișa pe ecran numărul de atingeri ale marginilor chenarului. Punctul de pornire și cel final nu se numără.
Restricții și precizări
1 ≤ a ≤ 2000000000
1 ≤ b ≤ 2000000000
Exemple:
Intrare
3 8
Ieșire
9
Intrare
8 4
Ieșire
1
As vrea sa ma ajute cineva sa-mi completeze codul imi da 88%.
#include
using namespace std;
//determina cmmdc a 2 numere a si b
int cmmdc(long int a, long int b){
if ((a == b) && (a == 0)){
return 1;
}
if (a * b == 0){
return a + b;
}
while (a != b){
if (a > b)
a -= b;
else
b -= a;
}
return a;
}
// calcularea numărului de schimbări de direcție a razei
int raza(long int a, long int b){
int nrSchimb;
int d = cmmdc(a, b);
nrSchimb = b / d + a / d - 2;
return nrSchimb;
}
int main()
{
long int a,b;
cin>>a>>b;
cout<
}
Răspunsuri la întrebare
Răspuns de
6
#include <iostream>
using namespace std;
int main()
{
long long a, b, d, schimb, m, c;
cin >> a >> b;
if (a==b) schimb=0;
else
{
if (a<b) { int t=a; a=b; b=t;}
d=a; m=b;
while (m) {
c = d % m;
d = m;
m = c;
}
schimb=b/d+a/d-2;
}
cout << schimb;
return 0;
}
pmarian98:
esti GENIAL
enuntul ei incepea astfel:
David a învățat de curând la școală ce înseamnă o mulțime de numere naturale și ce operații se pot face pe mulțimi. Printre operațiile învățate, lui David i s-au părut interesante operația de reuniune a două mulțimi și operația de intersecție a două mulțimi, așa că el, fiind pasionat de informatică, s-a gândit să implementeze cele două operații pentru două mulțimi.
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă