Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
> merkur:=88;
> venus:=225;
> erde:=365;
> mars:=687;
> jupiter:=round(11.862*365);
> saturn:=round(29.458*365);
> uranus:=round(84.014*365);
> neptun:=round(164.793*365);
> pluto:=round(248.2*365);
> gl1:=f(x,merkur)-floor(f(x,merkur))=f(x,venus)-floor(f(x,venus)):
> gl2:=f(x,venus)-floor(f(x,venus))=f(x,erde)-floor(f(x,erde)):
> gl3:=f(x,erde)-floor(f(x,erde))=f(x,mars)-floor(f(x,mars)):
> gl4:=f(x,mars)-floor(f(x,mars))=f(x,jupiter)-floor(f(x,jupiter)):
> gl5:=f(x,jupiter)-floor(f(x,jupiter))=f(x,saturn)-floor(f(x,saturn)):
> gl6:=f(x,saturn)-floor(f(x,saturn))=f(x,uranus)-floor(f(x,uranus)):
> gl7:=f(x,uranus)-floor(f(x,uranus))=f(x,neptun)-floor(f(x,neptun)):
> gl8:=f(x,neptun)-floor(f(x,neptun))=f(x,pluto)-floor(f(x,pluto)):
> temp:=fsolve(gl1,x=1..200);
> for n from 1 to 50 do:
> temp := fsolve(gl1,x=temp..temp+300);
> if gl2 then
> if gl3 then
> if gl4 then
> if gl5 then
> if gl6 then
> if gl7 then
> if gl8 then temp;
> end if
> end if
> end if
> end if
> end if
> end if
> end if
> od:
> for n from 1 to 5000 do:
> temp := fsolve(gl1,x=temp..temp+300);
> if gl2 then
> if gl3 then
> if gl4 then
> if gl5 then
> if gl6 then
> if gl7 then
> if gl8 then temp;
> end if
> end if
> end if
> end if
> end if
> end if
> end if
> od:
# include <stdio.h>
long double M,N;
long double kGV (long double m,long double n) {
M=m;
N=n;
// ggT ausrechnen
while(m!=n) {
if (m>n)
m-=n;
else
n-=m;
}
//kGV(m,n)=m*n/ggT(m,n)
return (M*N/m);
}
int main () {
long double werte []={89.0,224.0,365.0,686.0,4352.0,10811.0,30718.0,60561.0,91663.0};
int i;
long double a=kGV(werte[0],werte[1]);
printf("t 0 : %Lf\n",a);
for (i=1;i<8;i++) {
a=kGV(a,werte[i+1]);
printf("t %d : %Lf\n",i,a);
}
return 0;
}
# include <stdio.h>
# include <math.h>
# include <time.h>
// Das Superkonjunktionsberechnungsprogramm-selbe Aufgabe-exakter gelöst :)
int main () {
printf ("Das BB Superkonjunktionsberechnungsprogramm v 2.0b\n");
long double durchl;
printf ("Geben Sie bitte die Anzahl Durchläufe an, die Sie warten können (natürlich CPU-abhängig)");
scanf("%Lf",&durchl);
time_t startZeit;
time(&startZeit);
double tKurs=86400.0;
double aEKurs=149600000.0;//Kilometer, die eine AE aufweist (1AE=Abstand Erde Sonne)
double wechselKurs=tKurs/aEKurs;//Ich will die km/s in AE/Tag umrechnen;
double zweiPi=2.0*3.141592654;
double sMerkur=0.39*zweiPi;
double sVenus= 0.72*zweiPi;
double sErde= 1.0*zweiPi;
double sMars= 1.52*zweiPi;
double sJupiter= 5.20*zweiPi;
double sSaturn= 9.54*zweiPi;
double sUranus= 19.20*zweiPi;
double sNeptun= 30.06*zweiPi;
double sPluto= 39.6*zweiPi;
double vMerkur= 47.8*wechselKurs;
double vVenus= 35.0*wechselKurs;
double vErde= 29.8*wechselKurs;
double vMars= 24.1*wechselKurs;
double vJupiter= 13.0*wechselKurs;
double vSaturn= 9.6*wechselKurs;
double vUranus= 6.8*wechselKurs;
double vNeptun= 5.4*wechselKurs;
double vPluto= 4.7*wechselKurs;
double tMerkur=sMerkur/vMerkur;
double tVenus=sVenus/vVenus;
double tErde=sErde/vErde;
double tMars=sMars/vMars;
double tJupiter=sJupiter/vJupiter;
double tSaturn=sSaturn/vSaturn;
double tUranus=sUranus/vUranus;
double tNeptun=sNeptun/vNeptun;
double tPluto=sPluto/vPluto;
//_S_o _V_iel BBGrad _S_chaffen die Planeten in einer t Einheit (1/t/1024=1024/t)
//1 BBGrad=1048576/360 Grad, heißt 1 Runde=1048576 BBGrad (1048576=2^20)
int svsMerkur=1048576.0/tMerkur;// na dann rund ich halt nicht -.-
int svsVenus=1048576.0/tVenus;
int svsErde=1048576.0/tErde;
int svsMars=1048576.0/tMars;
int svsJupiter=1048576.0/tJupiter;
int svsSaturn=1048576.0/tSaturn;
int svsUranus=1048576.0/tUranus;
int svsNeptun=1048576.0/tNeptun;
int svsPluto=1048576.0/tPluto;
//Die Berechnung kann losgehen!
int merkur=0,venus=0,erde=0,mars=0,jupiter=0,saturn=0,uranus=0,neptun=0,pluto=0;
//hehe
int anzSchnauf=1;
long double i;
for (i=0;i<durchl;) {
merkur+=svsMerkur;
venus+=svsVenus;
erde+=svsErde;
mars+=svsMars;
jupiter+=svsJupiter;
saturn+=svsSaturn;
uranus+=svsUranus;
neptun+=svsNeptun;
pluto+=svsPluto;
// TESTAREA 51 ANFANG
//zu Testzwecken printf("svs: %f,%f,%f,%f,%f,%f,%f,%f,%f",svsMerkur,svsVenus,svsErde,svsMars,svsJupiter,svsSaturn,svsUranus,svsNeptun,svsPluto);
//printf("merkur:%d\n",merkur);
// TESTAREA 51 ENDE
merkur&=1048575; // Ist dasgleiche wie %360, nur in BBGrad (%1048576) und durch &1048575 viel Schneller!!!!!!
venus&=1048575;
erde&=1048575;
mars&=1048575;
jupiter&=1048575;
saturn&=1048575;
uranus&=1048575;
neptun&=1048575;
pluto&=1048575;
// Ein Tag vergeht....
i++;
//--------------------------------------------------------------------------------------------------------------------------Hier ists interessant!!!
if(merkur==venus&&merkur==erde&&merkur==mars&&merkur==jupiter&&merkur==saturn&&merkur==uranus&&merkur==neptun&&merkur==pluto) {// planeten dürfen kein Vielfaches von 2^20 sein!!!
printf("Rendered sequence %d\n",anzSchnauf);
anzSchnauf++;
if((merkur&1048575)!=0) {
printf("war das letzte :)");
printf("Ich bin fertig!!!!!!\n");
time_t endZeit;
time(&endZeit);
float zeit=(float)difftime(endZeit,startZeit);
printf("Alle %Lf zeiteinheiten sind alle Planeten in einer Linie!Im Winkel: %f Grad\n%f Sekunden gebraucht",i,merkur*360.0/1048576.0,zeit);
return 0;
}
}
}
time_t endZeit;
time(&endZeit);
float zeit=(float)difftime(endZeit,startZeit);
printf("In dieser Anzahl Durchläufe leider nicht geschafft!\n%f Sekunden gebraucht",zeit);
return 0;
}