par
sirakawa » 23 juin 2013, 21:19
Voici l'explication:
<?php
[b]//l'erreur initiale est que $s n'est pas initialisé; d'où plantage au premier tour[/b]
$s=0; //ajout
for ($n=1; $n <= 1000; $n++)
{
$s = $s + 1/(sqrt($n)+sqrt($n+1));
// calcul de la partie entiére
$part_ent = (int)$s;
//calcul de la partie décimale
$part_dec = $s - $part_ent;
print "<br>S: $s partie entière $part_ent partie décimale $part_dec";
//ici je teste ce qui se passe et je constate qu'il y a des résultats entiers (visuellement) mais,
// vu l'opération d'où ils sortent, ils sont vus comme des float
if (is_int($s))
{
print" $s entier vu par is_int<br>";
}
else
{
print" $s float vu par is_int<br>";
}
}
?>
Il te reste à mettre en place un test sur la partie décimale...
Il y a bien aussi variant_int(), mais disponible seulement sous Windows
Voici l'explication:
[php]<?php
[b]//l'erreur initiale est que $s n'est pas initialisé; d'où plantage au premier tour[/b]
$s=0; //ajout
for ($n=1; $n <= 1000; $n++)
{
$s = $s + 1/(sqrt($n)+sqrt($n+1));
// calcul de la partie entiére
$part_ent = (int)$s;
//calcul de la partie décimale
$part_dec = $s - $part_ent;
print "<br>S: $s partie entière $part_ent partie décimale $part_dec";
//ici je teste ce qui se passe et je constate qu'il y a des résultats entiers (visuellement) mais,
// vu l'opération d'où ils sortent, ils sont vus comme des float
if (is_int($s))
{
print" $s entier vu par is_int<br>";
}
else
{
print" $s float vu par is_int<br>";
}
}
?>[/php]
Il te reste à mettre en place un test sur la partie décimale...
Il y a bien aussi variant_int(), mais disponible seulement sous Windows