PHP Program - Write a function to calculate the factorial of a number (a non-negative integer). The function accepts the number as an argument.

PHP Class, Object and Methods (Article) Class, Object and Methods (Program)

274

Given Input:

Enter a non-negative integer: 5

Expected Output:


5x4x3x2x1=120

Program:

<span class="pun">&lt;?</span><span class="pln">php
 </span><span class="com">/* Enter your code here. Read input from STDIN. Print output to STDOUT */</span><span class="pln">
 
</span><span class="com">// Function to calculate the factorial of a number</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> factorial</span><span class="pun">(</span><span class="pln">$n</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$n </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="str">"Invalid Argument"</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    $result </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    $factorial_string </span><span class="pun">=</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$i </span><span class="pun">=</span><span class="pln"> $n</span><span class="pun">;</span><span class="pln"> $i </span><span class="pun">&gt;</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> $i</span><span class="pun">--)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $result </span><span class="pun">*=</span><span class="pln"> $i</span><span class="pun">;</span><span class="pln">
        $factorial_string </span><span class="pun">.=</span><span class="pln"> </span><span class="str">"$i"</span><span class="pln"> </span><span class="pun">.</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$i </span><span class="pun">!=</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"x"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> </span><span class="str">"$factorial_string=$result"</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="com">// Read user input from standard input</span><span class="pln">
</span><span class="com">// echo "Enter a non-negative integer: ";</span><span class="pln">
$input </span><span class="pun">=</span><span class="pln"> trim</span><span class="pun">(</span><span class="pln">fgets</span><span class="pun">(</span><span class="pln">STDIN</span><span class="pun">));</span><span class="pln">

</span><span class="com">// Convert user input to integer</span><span class="pln">
$n </span><span class="pun">=</span><span class="pln"> intval</span><span class="pun">(</span><span class="pln">$input</span><span class="pun">);</span><span class="pln">

</span><span class="com">// Calculate factorial and print output</span><span class="pln">
echo factorial</span><span class="pun">(</span><span class="pln">$n</span><span class="pun">);</span>

Output:

Enter a non-negative integer: 5
5x4x3x2x1=120

Explanation:

Explanation:

  1. The program now modifies the factorial function to also create a string that represents the factorial calculation.

  2. Inside the for loop, the function appends each number and "x" to the string, except for the last number which is appended without "x".

  3. Finally, the function returns the factorial calculation string and the result in the format "factorial calculation=result".

  4. The program then calls the factorial function with the user input as an argument and prints the output to the console.


This Particular section is dedicated to Programs only. If you want learn more about PHP. Then you can visit below links to get more depth on this subject.