Define a function to count the number of factor of a number in php
Home » PHP » PHP programs Show
In this article, we are going to learn how to create a function in PHP that will help us calculate factors of any given number? For instance, if we have to list the factors of a number y. Then, we have to look for all possible numbers within the range 0 to the number y (with 0 exclusive because we do not divide a number by 0) that gives no remainder when it divides y. Example: Input 6 Output {1,2,3,4,5,6,}. Let's Write out a PHP function to do this for us: Program/Source Code:
//We Define a function that gets
//an argument and return the factors
//of the number it got.
// Function definition
function factors_of_a_number($n)
{
if ($n == 0)
{
// because we cannot divide 0/0 does not exist
echo "Zero has no factors";
}
else
{
// format our answer to look good.
print_r("The factors of $n are {");
//We will use a for loop to loop through
// each number in the series 1 to our number $n
// dividing $n by each number
for ($x = 1;$x <= $n;$x++)
{
// the modulus operator
// helps us get the remainder of each division
$factor = $n % $x;
//we will check to see which number return a 0 as reminder
// the we echo that number because it is a factor of our number $n.
if ($factor == 0)
{
print_r($x . ",");
}
}
print_r("}");
}
}
print_r(factors_of_a_number(0) . "\n");
print_r(factors_of_a_number(50) . "\n");
?>
Output: Zero has no factors The factors of 50 are {1,2,5,10,25,50,} PHP Basic Programs » Objective: Write a PHP program to find all distinct factors (divisors) of a given natural number. The divisors of few numbers are given below: Number: 10 Divisors: 1 2 5 10 Number: 15 Divisors: 1 3 5 15 Number: 100 Divisors: 1 2 4 5 10 20 25 50 100 Method 1: Using iterationOne of the basic approach is to iterate from 1 to n and in each iteration check whether the number divides n. If it divides then print it. The above code will give the following output: Divisors of 10 are: 1 2 5 10 Divisors of 50 are: 1 2 5 10 25 50 Divisors of 100 are: 1 2 4 5 10 20 25 50 100 Method 2: Optimized CodeInstead of checking the divisibility of the given number from 1 to n, it is checked till square root of n. For a factor larger than square root of n, there must the a smaller factor which is already checked in the range of 1 to square root of n. The above code will give the following output: Divisors of 10 are: 1 10 2 5 Divisors of 50 are: 1 50 2 25 5 10 Divisors of 100 are: 1 100 2 50 4 25 5 20 10 Method 3: Optimized Code with sorted resultIn the previous method, results are produced in a irregular fashion (printed in pairs - small number and large number). The result can be sorted by storing the larger number and print them later on. Consider the example below: = 0; $i--) echo $arr[$i]." "; echo "\n"; } printDivisors(10); printDivisors(50); printDivisors(100); ?> The above code will give the following output: Divisors of 10 are: 1 2 5 10 Divisors of 50 are: 1 2 5 10 25 50 Divisors of 100 are: 1 2 4 5 10 20 25 50 100 Method 4: Another Optimized CodeTo produce the result in sorted order, we can iterate from 1 to square root of n and printing the number which divides n. After that we can iterate back (in reverse order) and printing the quotient of all numbers which divides n. = 1; $i--) { if($n%$i == 0) echo $n/$i." "; } echo "\n"; } printDivisors(10); printDivisors(50); printDivisors(100); ?> The above code will give the following output: Divisors of 10 are: 1 2 5 10 Divisors of 50 are: 1 2 5 10 25 50 Divisors of 100 are: 1 2 4 5 10 20 25 50 100 Recommended Pages
How do you find the factors of a number in PHP?PHP Program - Find all factors of a Number
php //function to print all divisors of a number function printDivisors($n) { echo "Divisors of $n are: "; for($i = 1; $i <= $n; $i++) { if($n%$i == 0) echo "$i "; } echo "\n"; } printDivisors(10); printDivisors(50); printDivisors(100); ?>
How do you count the number of factors?Finding the Number of Factors
Step 1: Do the prime factorization of the given number, i.e., express it as the product of primes. Step 3: Write the prime factorization in the exponent form. Step 3: Add 1 to each of the exponents. Step 4: Multiply all the resultant numbers.
How do you find the factors of a number in CPP?It is called from the main() function with one parameter i.e. “num”. factors(num); The for loop in the function factors() runs from 1 to num. The number is divided by i and if the remainder is 0, then i is a factor of “num” and is printed.
How do you count the number of factors in Java?Here are a few methods to Find the Factors of a Number in Java Language,. Method 1: Using Range as [ 2, number ]. Method 2: Using Range as [ 2, number/2]. Method 3: Using Range as [2, Sqrt( number ) ]. Method 4: Using Range as [2, Sqrt( number ) ] Updated.. Method 5: Update for negative numbers.. |