Post view

Zwischenspiel: Quadratzahlenreihe 4er Entwicklung mit Dev-C++ Programm

Die Gauss'sche Quadratzahlenreihe beschreibt x^2 = SUM 2*n-1 (für n = 1 bis unendlich). 

Die Quadrate lassen sich zudem auch  beschreiben als Iterationen von Vierer-Vielfachen, die n-weise steigen, jeweils einmal n plus 1, dann wird die Differenz 

0*4 +1;     Q=1

1*4;         Q=4   0,1,2 (Wachstums-Differnz 1)

2*4+1;     Q= 9

4*4;        Q= 16    2,4,6 (W-Differenz 2)

6*4+1;    Q= 25

9*4;       Q= 36     6,9,12 (W-Differenz 3)

12*4 +1;  Q= 49

16*4;     Q= 64     12,16,20 (W-Dfferenz 4)

20*4+1   Q = 81

25*4     Q= 100     20,25,30 (W-Differenz 5)

30*4+1   Q= 121 usw

 Es folgt ein kleines Programm, das die zu analysierende Zahl z (Eingabe) auf Vielfachheit von 4 prüft und dann die Quadratzahlen so weit entwickelt, bis deren Vielfachheit von 4 die der zu analysierenden Zahl überschreitet. Bei den hier vorläufig betrachteten zahlen kann man dann relativ schnell sehen, ob eine lineare Summe von Vierervielfachen existiert, die der Vielfachheit von z entspricht und, falls das der Fall ist, auch deren Differenzwert einschließt (möglich wegen +1 bei jeder ungeraden Quadratzahl).

Da z dann der Differenz von größerer minus kleinerer Quadratzahl entspricht, kann z mit der dritten binomischen Formel zerlegt werden. 

Aufgrund der Rekursionsformel können (in einem weiteren Programm) auch Teilabschnitte in der Reihenentwicklung der Vierer-Vielfachen berechnet werden, die z entsprechen können. Da es sich um einen zusammenhängenden Abschnitt handeln muss und die Anzahl der Möglichkeiten endlich ist - begrenzt durch eine Differenz zwischen den Quadratzahlen, die z entspricht, ist das Verfahren zur Faktorenanalyse effizient.

y ist die Größe der Entwicklungsschritte der Vierervielfachen und  nach der Formel 2*y = n oder 2*y+1 = n die Anzahl der Schritte in der Gauss-Entwicklung). 

q2 und q1 (q2 gerade Quad., q1 ungerade) sind die steigenden Vierer-Vielfachen

qq2 und qq1 ergeben sich durch q2 oder q1 multipliziert mit 4 und +1 bei ungeraden Quadratzahlen (qq1) 

Als Screenshot hier die Ausführung des Programms für z = 317 (prim), danach das Dev-C++-Programm im Quelltext

Programmbeispiel für Z = 317 (bei den Fotos)

 

Das Programm endet bei dem ersten Vierer-Vielfachem, das größer ist als z. 

Bei kleinen zahlen ist das schnell zu sehen, welche Quadratzahlen aufgrud ihrer Vielfachheit in Frage kommen, wie im Beispiel z.B. 

(nur)  81-2(=79)  bzw. für die dritte binomische Formel 18^2-3^2 = 15*21 = 315, nicht 317. Die Anzahl der Einererweiterungen entspricht also nicht. 

und in diesem Abschnitt gibt es keine Faktoren.

Die Prüfung kann sinnvoll bis zur Hälfte der Vierervielfachen einer Zahl als Abstand zwischen den Quadratzahlen weitergeführt werden. Da deren Differenzen sich wiederholen, ist dann durch zwei Quadrate schonn eine größere Differenz erreicht, sodass die dritte binomische Formel nicht mehr sinnvoll anwendbar ist (zum trivialen Fall von Quadratzahl - 1^2 führt). 

Das Programm kann also auch mit y/2 statt z1 ausgeführt werden. . 

 Die Analyse der Abschnitte kann dann beim größten Tripel von Summanden, das kleiner als z ist, beginnen.

 

 #include

#include

#include

#include

#include

#include

#include

 

 

int main(void)

{int x;

int y;

int z;

int q1;

int q2;

int qq1;

int qq2;

int q3;

int q4;

int qq2a;

int qq1a;

int z1;

 

y=1;

q1=0;

q2=0;

 

std::cout << "  z  \n";

std::cin >> z;

 

while(y<1000)

{

z1=z/4;

//std::cout << "  x  " <<x<<"\n";

q2=q1+y;

qq2=q2*4;

std::cout << " y  "<<y<<"  q2  " <<q2<< "  qq2  " <<qq2<<"\n";

q1=q2+y;

qq1=q1*4+1;

std::cout <<  " y  "<<y<<"  q1  " <<q1<< "  qq1  " <<qq1<<"\n";

if(z1<q1){

std::cout << "  q1>z1 " <<q1<< " >  " <<z1<<"\n";

break;

}

else 

y++;

continue;

}

}

ZifferZahlZitat 08.01.2019 1 104
Comments
Order by: 
Per page:
 
  •  ZifferZahlZitat: 
     
    Für 317 könnte man die einfach faktorisierbare Zahl 315 als Anhaltspunkt verwenden. 315 hat als Vielfachheit von 4 den Faktor 79 -1.
    Entwickelt man bis y = 40, erkennt man schnell die Drittel y 26+26+27 als passend: Summe 79. Ihnen entsprechen die Quadratzahlen 2916 = 54^2 minus 2601 (51^2) = (54+51) * (54-51) = 105*3 = 315 mit der dritten binomischen Formel. Nächste Summandengruppe für 315 ist y= 15,15,16,16,17 = 79 und entsprechend 1156 (34^2) - 841 (29^2), binomisch umgeformt (34-29)*(34+29) = 5*63= 315. Usw. 315 hat immer ungerade Summandenzahlen.
     
     10.01.2019 
    0 points
     
Rate
1 votes
Actions
Recommend
Categories
Books (14 posts)
Entertainment Blogs (28 posts)
Tech News (1 posts)