mat. funkcija podobna korenu
ja sj to je vse res kar si rekel..
saj jutri bom naredil tako->morda ze danes
najprej enice, potem desetine, stotine,tisocine......xine doloc pol pa izpise
BTW...ta koda ne dela->Parse error: syntax error, unexpected $end in C:\Program Files\xampp\htdocs\logu.php on line 20->zgleda da ni pricakoval da se koda konca(koda ima 20 vrstic)
saj jutri bom naredil tako->morda ze danes
najprej enice, potem desetine, stotine,tisocine......xine doloc pol pa izpise
BTW...ta koda ne dela->Parse error: syntax error, unexpected $end in C:\Program Files\xampp\htdocs\logu.php on line 20->zgleda da ni pricakoval da se koda konca(koda ima 20 vrstic)
lol, v
je manjkal narekovaj
Ce ni se kaj narobe, bi moglo delat.
Koda: Izberi vse
$_POST['stv'];
Ce ni se kaj narobe, bi moglo delat.
ja no zdaj dela sam zracuna pa cisto narobe...
1000 je rekel da je \(5.93^{5.93}\)-> to je skor 40 000
no sm naredu skripto ki izracuna do 0.000001 natancno
PS kaj je mearsenovo stevil \(2^p-1\)
to v praksi pomeni da 2 na neko stevilo -1 je prastevilo?
1000 je rekel da je \(5.93^{5.93}\)-> to je skor 40 000
no sm naredu skripto ki izracuna do 0.000001 natancno
Koda: Izberi vse
<form method="post">
Stevilo: <input type="text" name="stv"/><br />
<input type="submit" value="Poslji"/>
</form>
<?php
$a=0;
//enice
while(pow($a,$a)<$_POST['stv']){
$a=$a+1;
pow($a,$a);
}
$a=$a-1;
//desetine
while(pow($a,$a)<$_POST['stv']){
$a=$a+0.1;
pow($a,$a);
}
$a=$a-0.1;
//stotine
while(pow($a,$a)<$_POST['stv']){
$a=$a+0.01;
pow($a,$a);
}
$a=$a-0.01;
//tisocine
while(pow($a,$a)<$_POST['stv']){
$a=$a+0.001;
pow($a,$a);
}
$a=$a-0.001;
//d tisocine
while(pow($a,$a)<$_POST['stv']){
$a=$a+0.0001;
pow($a,$a);
}
$a=$a-0.0001;
//s tisocine
while(pow($a,$a)<$_POST['stv']){
$a=$a+0.00001;
pow($a,$a);
}
$a=$a-0.00001;
//miljonine
while(pow($a,$a)<$_POST['stv']){
$a=$a+0.000001;
pow($a,$a);
}
$a=$a-0.000001;
//izpis
print $a;
$b = pow($a,$a);
$c = $_POST['stv'] - $b;
$d = ceil($b);
print "<br/ >a na a je enako {$b}";
print "<br/ >vendar bi moral pristeti se {$c}";
print "<br/ >zaokrozena na vzgor(0,1->1) je to {$d}";
?>
PS kaj je mearsenovo stevil \(2^p-1\)
to v praksi pomeni da 2 na neko stevilo -1 je prastevilo?
Hja, to se pa zgodi ce programiras na list papirja V while pogoju je obvezna absolutna vrednost, drugace razglasi vse negativne za manjse od 0.00001
Zdaj pa dela, sem preveril na Mathematici. Za a=1000 naredi 23 korakov, za a=3000 pa 26. Sta pa kodi zdaj v povprecju enakovredni, tvoja je hitrejsa za nizje natancnosti. Mogoce le se pospravi vse te enake while zanke v eno vecjo for da bo koda bolj kompaktna. Pa se to, tehle pow($a,$a) se vedno ne potrebujes se mi zdi.
Zdaj pa dela, sem preveril na Mathematici. Za a=1000 naredi 23 korakov, za a=3000 pa 26. Sta pa kodi zdaj v povprecju enakovredni, tvoja je hitrejsa za nizje natancnosti. Mogoce le se pospravi vse te enake while zanke v eno vecjo for da bo koda bolj kompaktna. Pa se to, tehle pow($a,$a) se vedno ne potrebujes se mi zdi.
Koda: Izberi vse
while(pow($a,$a)<$_POST['stv']){
$a=$a+1;
pow($a,$a); //ne vidim smisla tele kode, samo zgubljas polovico porabljenega casa.
}
$a=$a-1;
Bolj natancno, mersennovo prastevilo je prastevilo oblikealexa-lol napisal/-a:PS kaj je mearsenovo stevil \(2^p-1\)
to v praksi pomeni da 2 na neko stevilo -1 je prastevilo?
\(2^p-1\) kjer je tudi p prastevilo. Drugace itak ne more biti prastevilo ker je enostavno razcepit.
Pri iskanju lahko tudi sodelujes.
ja je smisel te kode ker to zmnozi potem gre pa nazaj do zanek while in pac to doblejno cifro pogleda ce je manjsa od stevila X.Aniviller napisal/-a:Koda: Izberi vse
while(pow($a,$a)<$_POST['stv']){ $a=$a+1; pow($a,$a); //ne vidim smisla tele kode, samo zgubljas polovico porabljenega casa. } $a=$a-1;
to za mearsenovo stevilo...
sm dau ze dol samo mi je v enem mescu samo 13% nardil...
verjetn zato k dela samo ko 10 min nic ne prtiskas
PS. a je ker drug nacina da se zve al je neo stevil prastevilo kukr da ga rastavlas na prafaktorje
Hm... to lahko dela sproti se mi zdi.alexa-lol napisal/-a: ja je smisel te kode ker to zmnozi potem gre pa nazaj do zanek while in pac to doblejno cifro pogleda ce je manjsa od stevila X.
O primality-testu pise marsikaj, veliko ze na wiki. Tudi hitrosti so bistevno visje kot probavanje vseh variant.
Koda: Izberi vse
<form method="post">
Stevilo: <input type="text" name="stv"/><br />
<input type="submit" value="Poslji"/>
</form>
<?php
$stevilo=$_POST['stv'];
$a1=0;
$a2=log($stevilo)+1;
$a=($a1+$a2)/2;
while(abs($stevilo-pow($a,$a))>0.000001){ //sam tale absolutna je manjkala,
//razen ce php pocne kaj cudnega.
if(pow($a,$a)>$stevilo)
$a2=$a;
else
$a1=$a;
$a=($a1+$a2)/2;
}
print $a;
?>
Koda: Izberi vse
<form method="post">
Stevilo: <input type="text" name="stv"/><br />
<input type="submit" value="Poslji"/>
</form>
<?php
$a=0.367879; //to lahko naredis ker je to spodnja meja za rezultat, ce imas pa samo naravna stevila pa lahko das tukaj kar 1.
for($inc=1; $inc>0.0000001; $inc=$inc/10){ //spreminjas korak
while(pow($a,$a)<$_POST['stv']){
$a=$a+$inc;
pow($a,$a); //ceprav mislim da dela tudi brez, da sproti to racuna v while,
//s tem samo prisilis da shranjuje in se enkrat bere, ce sploh ve da je to ze zracunal....
}
$a=$a-$inc;
}
//izpis
print $a;
$b = pow($a,$a);
$c = $_POST['stv'] - $b;
$d = ceil($b);
print "<br/ >a na a je enako {$b}";
print "<br/ >vendar bi moral pristeti se {$c}";
print "<br/ >zaokrozena na vzgor(0,1->1) je to {$d}";
?>
13% cesa? Upam da ne prve faktorizacijealexa-lol napisal/-a:to za mearsenovo stevilo...
sm dau ze dol samo mi je v enem mescu samo 13% nardil...
verjetn zato k dela samo ko 10 min nic ne prtiskas
Ne vem, men dela skoz, se ne pozna to da se prilagaja porabi. Sem danes spet zagnal pa je pri 2^66, 22% pa premakne se na dve minuti.
Če prav razumem bi rad izračunal vsoto aritmetičnega zaporedja z diferenco d=1, npr.: 1000+1001+1002+... .
Vsoto izračunaš s pomočjo te enačbe: \(S_n = \frac{n \cdot (a_1 + a_n)}{2}\) oz. te \(S_n = \frac{n \cdot(2 \cdot a_1 + (n-1) \cdot d )}{2}\).
Kjer je \(a_1\) prvi člen zaporedja(v tvojem primeru x), \(a_n\) zadnji člen zaporedja(v tvojem primeru x+n), n je število členov, d pa je diferenca med členi(v tvojem primeru 1).
Vsoto izračunaš s pomočjo te enačbe: \(S_n = \frac{n \cdot (a_1 + a_n)}{2}\) oz. te \(S_n = \frac{n \cdot(2 \cdot a_1 + (n-1) \cdot d )}{2}\).
Kjer je \(a_1\) prvi člen zaporedja(v tvojem primeru x), \(a_n\) zadnji člen zaporedja(v tvojem primeru x+n), n je število členov, d pa je diferenca med členi(v tvojem primeru 1).