Salut. Ma poate ajuta cineva cu aceste probleme va rog frumos? Ma pregatesc pentru bac si mi-ar fi de mare ajutor. C++ va rog.
Anexe:

Răspunsuri la întrebare
Răspuns de
4
► Subprogram :
void patrate(int x, int y){
int s=0, ix, iy;
ix = sqrt(x);
if(ix*ix<x) ++ix;
iy = sqrt(y);
if(ix>iy){
std::cout << "nu exista";
return;
}
for(int i=ix; i<iy; i++){
std::cout << i*i << "+";
s+=i*i;
}
s+=iy*iy;
std::cout << iy*iy << "=" << s;
}
► Explicatie :
In loc sa verificam la rand toate elementele cuprinse intre x si y ne putem folosi de numerele intregi cuprinse intre si
. Daca
atunci toate patratele perfecte cuprinse intre
si
sunt de forma
.
Acest lucru reduce drastic complexitatea algoritmului, nefiind necesara testarea fiecarui element daca acesta e patrat perfect.
► Nota :
E nevoie de includerea bibilotecii cmath in fisier pentru functionarea corecta a algoritmului.
Anexe:

eduardmihailescu26:
Multumesc mult!
Alte întrebări interesante
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Informatică,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă