Page 1 sur 1
suite geométrique
Posté : 22 juin 2014, 20:42
par Kada
Bonjour
comment ecrire un script qui affiche la suite suivante
Uo=1
U1=2
U2=4
U3=8
U4=16
.
.
.
formule U(n+1)=Un *r
sachant que r=2 et Uo=1
Merci
Re: suite geométrique
Posté : 22 juin 2014, 21:37
par Elie
Il y a peut etre plus simple mais ce que j'ai fait ca marche
$result = 1;
foreach(range(1, 60) as $k => $v) {
$result = ($v == 1) ? 1 : $result + $result;
echo 'U'.$k.' = '.$result.'<br />';
}
U0 = 1
U1 = 2
U2 = 4
U3 = 8
U4 = 16
U5 = 32
U6 = 64
U7 = 128
U8 = 256
U9 = 512
U10 = 1024
U11 = 2048
U12 = 4096
U13 = 8192
U14 = 16384
U15 = 32768
U16 = 65536
U17 = 131072
U18 = 262144
U19 = 524288
U20 = 1048576
U21 = 2097152
U22 = 4194304
U23 = 8388608
U24 = 16777216
U25 = 33554432
U26 = 67108864
U27 = 134217728
U28 = 268435456
U29 = 536870912
U30 = 1073741824
U31 = 2147483648
U32 = 4294967296
U33 = 8589934592
U34 = 17179869184
U35 = 34359738368
U36 = 68719476736
U37 = 137438953472
U38 = 274877906944
U39 = 549755813888
U40 = 1099511627776
U41 = 2199023255552
U42 = 4398046511104
U43 = 8796093022208
U44 = 17592186044416
U45 = 35184372088832
U46 = 70368744177664
U47 = 1.4073748835533E+14
U48 = 2.8147497671066E+14
U49 = 5.6294995342131E+14
U50 = 1.1258999068426E+15
U51 = 2.2517998136852E+15
U52 = 4.5035996273705E+15
U53 = 9.007199254741E+15
U54 = 1.8014398509482E+16
U55 = 3.6028797018964E+16
U56 = 7.2057594037928E+16
U57 = 1.4411518807586E+17
U58 = 2.8823037615171E+17
U59 = 5.7646075230342E+17
Re: suite geométrique
Posté : 23 juin 2014, 09:49
par sirakawa
U(n+1)=Un *r est un bon exemple d efonction implémentable récursivement
<?PHP
//U(n+1)=Un *r
function suite($init, $ratio, $limite)
{
if ($init == 0)
{
return suite (1, $ratio, $limite);
}
else
{
if ($init < $limite)
{
$init = $init*$ratio;
return suite ($init, $ratio, $limite);
}
else
{
return $init;
}
}
}
echo (suite (0,2,10000));
?>
Re: suite geométrique
Posté : 23 juin 2014, 11:05
par telnes
hello
en faite il s'agit de la fonction exposant 2^x
function suite($int){
return pow(2,$int);
}
pti test
for($i=0;$i<20;$i++){
$t = suite($i);
echo "$i : $t <br />\n";
}
0 : 1 <br />
1 : 2 <br />
2 : 4 <br />
3 : 8 <br />
4 : 16 <br />
5 : 32 <br />
6 : 64 <br />
7 : 128 <br />
8 : 256 <br />
9 : 512 <br />
10 : 1024 <br />
11 : 2048 <br />
12 : 4096 <br />
13 : 8192 <br />
14 : 16384 <br />
15 : 32768 <br />
16 : 65536 <br />
17 : 131072 <br />
18 : 262144 <br />
19 : 524288 <br />
en construisant Uo, U1 en fonction de Uo, U2 en fonction de U1 puis Uo ... on le vois bien
enjoy
Re: suite geométrique
Posté : 23 juin 2014, 11:37
par Kada
Un grand merci pour vos réponses....
ça fonctionne enfin merci ce bon forum.
Re: [RESOLU] suite geométrique
Posté : 23 juin 2014, 23:13
par kada1
bonjour je vous remercier déja pour votre réponse j'ai aussi besoin de votre aide pour le second sujet svp,
j'ai mit le premier code que vous m'avez donné ça a bien marché et je voulais faire pareil avec une suite de somme:u(n+1)=u(n)+r
en faite pour faire choisir entre geomtrique et arithmetique mais il affiche rien vous pouvez regarder svp merci voila mon programme
<html>
<title>suite</title>
<form method="get">
<?php
$p=$_GET["choix"];
$u=$_GET["A"];
$rang=$_GET["C"];
$rang1=$_GET["D"];
if($p=="geometrique"){
function suite ($int){
$r=$_GET["B"];
return pow($r,$int);
}
for ($rang; $rang<=$rang1; $rang++){
$u=suite($rang);
echo "u$rang= $u<br/>\n";
}
// pour mettre arithmetique
if($p=="arithmetique"){
function suite ($int){
$r=$_GET["B"];
return somme($r,$int);
}
for ($rang; $rang<=$rang1; $rang++){
$u=suite($rang);
echo "u$rang= $u<br/>\n";
}
}
}
?>
</form>
</body>
</html>
..........// voila le 2eme programme //.......
<html>
<form action="suite.php" method="get">
Type de suite:
<input type="radio" name="choix" value="arithmetique">arithmetique
<input type="radio" name="choix" value="geometrique">geometrique<br>
premier terme:u0=
<input type="texte" name="A" value ="1"><br>
raison:r =
<input type ="txte" name="B" ><br>
afficher les termes du rang:
<input type="texte" name="C" >
au rang:
<input type="texte" name="D" ><br>
<input type="submit" value="ok">
</html>