Pb avec le param continue

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb avec le param continue

par Invité » 12 août 2005, 16:57

J'ai trouvé une simple faute de syntaxe un ";" en trop derrière le for


<?php

// cherche tous les
// nombres premiers de 1 à 1000

 for ($nb=1 ;$nb<=1000 ;$nb++)
 
 {
 	
 	$div = 1;  //test 1
 	
 	while ($div <= $nb) 
 	{
 		$reste = $nb%$div ;
 		
 		if ($reste==0)
 		{
 			if ($div==$nb) break ;
 			//sort de la boucle while
 			elseif ($div!=1)  continue 2; 
 		}
 			
 	 $div++;				
 					
 	}
 	echo $nb. " est un nombre premier <br>" ;
 	
 }	

?>	

par Invité » 12 août 2005, 10:01

Merci mais le but premier de ma question est de savoir pourquoi le "continue" me met une erreur enmode débug. Car normalement le script est bon et dois me renvoyer tous les nbres premiers .

Donc ou est la faute??

Merci d'avance

par Elie » 12 août 2005, 09:50

J'avais develloppé ce code (Qui marchait je crois :p)
<?

	set_time_limit (120);									// Pour etre sur

	$base = 10000;											// Sur combien de nombres calculons-nous.

	$facteur = array('2');									// On prend 2 comme facteur de base.

	for($i=1;$i<=$base;$i++) {								// On fait la boucle des 10 000 chiffres

		for($nb=0;$nb<count($facteur);$nb++) {				// On fait la boucle des facteurs

			if(is_int($i / $facteur[$nb])) $non[$i] = 1;	// Si le chiffre retourne un entier quand
															// il est divisé par un facteur alors il 
		}													// n'est pas un nombre premier

		if((empty($non[$i])) AND ($i > 1)) {
	
			array_push($facteur, $i);						// Si c'est un nombre premier on l'ajoute
															// aux facteurs
		}

	}

	$nombre = count($facteur) + 1; 							//On ajoute le 1 qui est un nombre premier.

	echo "Il y a ".$nombre." nombres premiers entre 1 et ".$base;

?>

Code : Tout sélectionner

Il y a 169 nombres premiers entre 1 et 1000 Array ( [0] => 2 [1] => 3 [2] => 5 [3] => 7 [4] => 11 [5] => 13 [6] => 17 [7] => 19 [8] => 23 [9] => 29 [10] => 31 [11] => 37 [12] => 41 [13] => 43 [14] => 47 [15] => 53 [16] => 59 [17] => 61 [18] => 67 [19] => 71 [20] => 73 [21] => 79 [22] => 83 [23] => 89 [24] => 97 [25] => 101 [26] => 103 [27] => 107 [28] => 109 [29] => 113 [30] => 127 [31] => 131 [32] => 137 [33] => 139 [34] => 149 [35] => 151 [36] => 157 [37] => 163 [38] => 167 [39] => 173 [40] => 179 [41] => 181 [42] => 191 [43] => 193 [44] => 197 [45] => 199 [46] => 211 [47] => 223 [48] => 227 [49] => 229 [50] => 233 [51] => 239 [52] => 241 [53] => 251 [54] => 257 [55] => 263 [56] => 269 [57] => 271 [58] => 277 [59] => 281 [60] => 283 [61] => 293 [62] => 307 [63] => 311 [64] => 313 [65] => 317 [66] => 331 [67] => 337 [68] => 347 [69] => 349 [70] => 353 [71] => 359 [72] => 367 [73] => 373 [74] => 379 [75] => 383 [76] => 389 [77] => 397 [78] => 401 [79] => 409 [80] => 419 [81] => 421 [82] => 431 [83] => 433 [84] => 439 [85] => 443 [86] => 449 [87] => 457 [88] => 461 [89] => 463 [90] => 467 [91] => 479 [92] => 487 [93] => 491 [94] => 499 [95] => 503 [96] => 509 [97] => 521 [98] => 523 [99] => 541 [100] => 547 [101] => 557 [102] => 563 [103] => 569 [104] => 571 [105] => 577 [106] => 587 [107] => 593 [108] => 599 [109] => 601 [110] => 607 [111] => 613 [112] => 617 [113] => 619 [114] => 631 [115] => 641 [116] => 643 [117] => 647 [118] => 653 [119] => 659 [120] => 661 [121] => 673 [122] => 677 [123] => 683 [124] => 691 [125] => 701 [126] => 709 [127] => 719 [128] => 727 [129] => 733 [130] => 739 [131] => 743 [132] => 751 [133] => 757 [134] => 761 [135] => 769 [136] => 773 [137] => 787 [138] => 797 [139] => 809 [140] => 811 [141] => 821 [142] => 823 [143] => 827 [144] => 829 [145] => 839 [146] => 853 [147] => 857 [148] => 859 [149] => 863 [150] => 877 [151] => 881 [152] => 883 [153] => 887 [154] => 907 [155] => 911 [156] => 919 [157] => 929 [158] => 937 [159] => 941 [160] => 947 [161] => 953 [162] => 967 [163] => 971 [164] => 977 [165] => 983 [166] => 991 [167] => 997 )

Pb avec le param continue

par sacco » 11 août 2005, 15:00

Voilà j'ai un pb dans mon code

PHP :

<?php

// cherche tous les
// nombres premiers de 1 à 1000

for ($nb=1 ;$nb<=1000 ;$nb++);

{

$div = 1;

while ($div <= $nb)
{
$reste = $nb%$div ;

if ($reste==0)
{
if ($div==$nb) break ;
//sort de la boucle while
elseif ($div!=1) continue 2 ;
}

$div++ ;

}
echo $nb. " est un nombre premier<br>" ;

}

?>

je dois avoir un pb sur la ligne du "continue" car mon code ne fonctionne pas mais je ne vois pas

Merci d'avance