Bonjour,
Pour ce qui débute la programmation, je vous demande d'exécuter les codes PHP et JAVA pour le factoriel d'un nombre.
CODE PHP : FactorialCalculator.php
Pour l'exécution du CODE PHP : FactorialTest.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php class FactorialCalculator { public function factorial( $number ) { if ( $number <= 1 ) return 1; else return $number * $this->factorial( $number - 1 ); } public function displayFactorials() { for ( $counter = 0; $counter <= 20; $counter++ ) printf( "%d! = %d\n", $counter, $this->factorial( $counter ) ); } } ?>
Résultats de l'exécution en ligne de commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php require_once(dirname(__FILE__).'/FactorialCalculator.php'); $factorialCalculator = new FactorialCalculator(); $factorialCalculator->displayFactorials(); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 php FactorialTest.php 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 11! = 39916800 12! = 479001600 13! = 1932053504 14! = 1278945280 15! = 2004310016 16! = 2004189184 17! = -288522240 18! = -898433024 19! = 109641728 20! = -2102132736
CODE JAVA : FactorialCalculator.java
Pour l'exécution du CODE JAVA: FactorialTest.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class FactorialCalculator { public long factorial( long number ) { if ( number <= 1 ) return 1; else return number * factorial( number - 1 ); } public void displayFactorials() { for ( int counter = 0; counter <= 20; counter++ ) System.out.printf( "%d! = %d\n", counter, factorial( counter ) ); } }
Compilation CODE JAVA
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class FactorialTest { public static void main( String args[] ) { FactorialCalculator factorialCalculator = new FactorialCalculator(); factorialCalculator.displayFactorials(); } }
Résultats de l'exécution en ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 javac FactorialCalculator.java javac FactorialTest.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 java FactorialTest 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 11! = 39916800 12! = 479001600 13! = 6227020800 14! = 87178291200 15! = 1307674368000 16! = 20922789888000 17! = 355687428096000 18! = 6402373705728000 19! = 121645100408832000 20! = 2432902008176640000
Remarque : Les deux codes sont exécutés sur une même machine debian 4.0. Version PHP : 5.2.9
Question : Pourquoi cette différence de résultats ?
Partager