//Zur Beschleunigung habe ich noch die Bedingung eingebaut, dass nur n für
//(2n-1)^2 < 7777 untersucht werden, da
//danach lediglich die Rolle der Variablen wechselt, aber keine neuen Faktoren hinzukommen (kommutativ).
//So werden auch keine falschen Vorzeichen mehr ausgegeben.
//Faktorisierung in dr Quadratzahlenreihe über Mittelwertbildung:
//(2n-1) vergrößert sich nach unten und oben um 2,
//also kann es bei einer Quadratzahlenreihe einen Mittelwert 2n-1 geben
//sodass die Summe des Quadratzahlenabschnitts der Anzahl der SUmmanden multipliziert mit dem Mittelwert entspricht.
//geeigneter Compiler ist Dev c++ 5.1 und höher (für windows)
//(C) Dr. Ulrike Ritter
//includes - diverse Mathefunktionen, eckige Klamern funktionieren hier nicht im Moment
int main(void)
{
int abs;
int n;
int i;
int j;
int test;
int fakt1;
int fakt2;
int base1;
int base2;
std::cout <<"Geben Sie die Zu analysierende Zahl ein \n";
std::cin >> i;
for (int n=1;n<99999;n++)
{
abs = 2*n-1;
j = i/abs;
test=j*abs;
if (test==i && abs*abs<i){
std::cout <<"j: " <<j<< " und n " << n<< " \n "<<"\n";
base1= n+(j/2);
base2= n-(j/2)-1;
fakt1 = base1-base2;
fakt2 = base1+base2;
std::cout <<"Quadratdifferenz: " << base1 <<"^2 "<<" "<< base2<<"^2"<<" \n";
std::cout <<"fuehrt zu den Faktoren: " <<fakt1<< " und " << fakt2<< " \n "<<"\n";
if (base2>base1) break;
else continue;
}
else continue;
}}