[RESOLU] suite geométrique

Kada
Invité n'ayant pas de compte PHPfrance

22 juin 2014, 20:42

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

Mammouth du PHP | 1339 Messages

22 juin 2014, 21:37

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
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 2278 Messages

23 juin 2014, 09:49

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));
?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 422 Messages

23 juin 2014, 11:05

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
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Kada
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 11:37

Un grand merci pour vos réponses....
ça fonctionne enfin merci ce bon forum.

kada1
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 23:13

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>