Beitrag Ansicht

Neues Programm zur Faktorisierung mit Quadratreihen small program for factor analysis by square rows

laughing Nach langer Zeit jetzt mal wieder ein kleines Programm zur Faktorenanalyse durch Quadratzahlreihen. Es funktioniert (bisher) genau dann,

wenn der Quadratzahlenabschnitt durch eine typische, im Programm fixierte Grenze bestimmt ist. 

Die weitere Entwicklung des Programms sieht vor, dass diese Grenze flexbel wird (was nicht zu schwierig ist). 

Dann kann das Programm die (endlichen!) Abschnitte der Quadratzahlenreihe daraufhin prüfen, ob ein Abschnitt existiert, der der Zahl entspricht,

und sie folglich durch die obere und untere Grenze dieses Abschnittes nach der dritten binomischen Formel zerlegbar ist.   

Die Quadratzahlenreihe wird etwas anders als bei Gauss über Vielfache von Vier aufgebaut. 

Das vereinfacht die Analyse, soll aber eigentlich auch grundsätzliche Gesetzmäßigkeiten zu Teilbarkeits- und Primzahleigenschaften sichtbar machen (Art der Abschnitte).

 

After a long time now again a small program for factor analysis by square rows. It works (so far) right then, when the square-number portion is determined by a typical program-fixed limit. The further development of the program envisages that this limit will be flexible (which is not too difficult). Then the program can check the (finite!) sections of the square number row to see if there is a section that matches the number, and thus it can be decomposed by the upper and lower limits of this section according to the third binomial formula. The squares are set up as multiples of four (+1), a little differently than Gauss' row. This simplifies the analysis, but is (in the end) supposed to make basic principles of divisibility and prime property visible (type of sections).

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; int p1; int p2; int pz; int S; int s1; int S11; int S12; int QuadO; int QuadU1; int QuadU2; int y1; int qs1; int qs2; int S1;

y=1; q1=0; q2=0; x=0; S=0;

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

std::cin >> z;

while (y<100000)

{ z1=z/4; q2=q1+y; qq2=q2*4; q1=q2+y; qq1=q1*4+1;

if(z1>q1)

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

std::cout << " y "<<y<<" q1 " <<q1<< " qq1 " <<qq1<<"\n"; y++; continue;}

if(z1<q1)

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

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

std::cout << " und q1>z1, q1 = " <<q1<< " > " <<z1<<" z1 bei y = "<< y <<"\n";

QuadO=qq1;

S=q1-z1;std::cout << "  q1  " << q1 <<" = " << S<< "\n";

std::cout << "  z =  " << z<<" = " <<QuadO-QuadU1<<"   QuadO "<<QuadO<<"  -  QuadU1   "<<QuadU2<<"\n";

break; }

 

if(q2==S)

{QuadU2=qq2;

std::cout << "  q1-z1 =  " <

std::cout << "  S =  " <

std::cout << "  z =  " << z<<" = " <<QuadO-QuadU2<<"   QuadO "<<QuadO<<"  -  QuadU1   "<<QuadU2<<"\n";

break; }

 

if(q1>S)

{break;}

 

if(q2>S)

{break;}

}}

 

break;}}

 

Artemis Wissen 12.01.2019 0 580
Kommentare
Ordnen nach: 
Pro Seite:
 
  • _There are no comments yet
Rate
1 Abstimmungen
Aktionen
Empfehlen
Kategorien
Books (14 beiträge)
Entertainment Blogs (28 beiträge)
Tech News (1 beiträge)