mat. funkcija podobna korenu

O matematiki, številih, množicah in računih...
alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

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)

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Odgovor Napisal/-a Aniviller »

lol, v

Koda: Izberi vse

$_POST['stv']; 
je manjkal narekovaj :oops:
Ce ni se kaj narobe, bi moglo delat.

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

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

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?

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Odgovor Napisal/-a Aniviller »

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 :oops:
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; 

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Odgovor Napisal/-a Aniviller »

alexa-lol napisal/-a:PS kaj je mearsenovo stevil \(2^p-1\)
to v praksi pomeni da 2 na neko stevilo -1 je prastevilo?
Bolj natancno, mersennovo prastevilo je prastevilo oblike
\(2^p-1\) kjer je tudi p prastevilo. Drugace itak ne more biti prastevilo ker je enostavno razcepit.

Pri iskanju lahko tudi sodelujes.

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

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; 
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.

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

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

kako to misls s for zanko?

kako bi dopovcedal kdaj naj enice, kdaj desetine, stotine pristeva?

a lahko uno svojo kodo nalimas sem->tist ko si neki govoril da dela zdaj

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Odgovor Napisal/-a Aniviller »

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.
Hm... to lahko dela sproti se mi zdi.

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;

?>
Drugace bi pa jaz naredil tole:

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}"; 
?>
Pa upam d nisem spet kaj zaj.....

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Odgovor Napisal/-a Aniviller »

alexa-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
13% cesa? Upam da ne prve faktorizacije 8)
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.

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

ja tist k mas na zacetku neki...
2^66-brezveze-od 31mio pa neki daj naprej k 31 mio pa neki je 44 to stevilo

ta koda dela ja-ta 1.
in 2. tut

alexa-lol
Prispevkov: 380
Pridružen: 12.5.2006 19:57

Odgovor Napisal/-a alexa-lol »

hi,
mene zanima kako bi izracunal \(x + x+1 + x+2 +....+ x+n\)

Uporabniški avatar
sstone
Prispevkov: 180
Pridružen: 30.11.2004 0:05

Odgovor Napisal/-a sstone »

Č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).

Odgovori