Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

C


Qdidactic » stiinta & tehnica » informatica » c
Sa se determine toate descompunerile in diferenta de patrate ale lui n



Sa se determine toate descompunerile in diferenta de patrate ale lui n


Se citeste n o valoare intreaga pozitiva. Sa se determine toate descompunerile in diferenta de patrate ale lui n.


Analiza problemei – elaborarea algoritmului:

Aratam in continuare cum se poate evita solutia 'banala'-capcana ce-ar consta in doua cicluri for imbricate. Solutia urmatoare efectueaza doar radical din n pasi, fata de n2 pasi ai solutiei 'la prima mina'

- pentru a determina toate descompunerile in diferenta de patrate ale lui n pornim de la formula a2-b2=(a+b)(a-b)=n

- observam ca produsul termenilor  a+b si a-b este produsul a doi dintre divizorii lui n,unul din termeni este divizor (d) a lui n celalalt este tot divizor a lui n si il aflam impartindu-l pe n la d (n div x)

- notam cu x primul divizor a lui n (x=d) si cu y=n div x si obtinem relatiile



a+b=x deci un sistem de doua ecuatii cu doua necunoscute ,pe care il rezolvam

a-b=y prin metoda reducerii ,si avem 2a=x+y => a=(x+y )/2 , b=(y-x)/2,

- pentru ca (x+y)/2 sa fie o solutie a ecuatiei a2-b2=(a+b)(a-b)=n trebuie ca x+y sa fie un numar par  si y-x sa fie un numar par

- daca aceasta conditie este indeplinita afisam solutia care indeplineste conditia ceruta.


Program descompunere_patrate;

var n,d,a,b,x,y:integer;

BEGIN

write('n=');readln(n);

for d:=1 to trunc(sqrt(n)) do

if n mod d =0 then

begin

x:=d;

y:=n div x;

if (x+y) mod 2 =0 then

begin

a:=(x+y) div 2;

b:=(y-x) div 2;

writeln(n,'=',a*a,'-',b*b);

end;

end;

readln;

END.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright