/
index.php
60 lines (50 loc) · 1.28 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
function divisor($number)
{
$divisors = array(); // Initialize empty array
for ($i = 1; $i <= $number; $i++) {
if (($number % $i) === 0) {
$divisors[] = $i;
}
}
echo "Number: " . $number . "<br />";
echo "Divisors of number: " . implode(', ', $divisors) . "<br />" . "<br />";
}
divisor(4354657);
function getDivisors($num)
{
$n = $num;
if ($n != 0) {
if ($n < 0) {
$n *= -1;
}
$divisors = array();
$a = array();
$b = array();
$i = 0;
for ($f = 1; $f <= $n; $f += 2) {
if ($n % $f === 0) {
$a[] = $f;
}
}
while ($n % 2 === 0) {
$i++;
$n /= 2;
}
for ($k = 1; $k <= $i; $k++) {
$b[] = pow(2, $k);
}
for ($q = 0; $q < sizeof($a); $q++) {
$divisors[] = $a[$q];
for ($s = 0; $s < sizeof($b); $s++) {
$divisors[] = $a[$q] * $b[$s];
}
}
sort($divisors);
echo "Number: " . $num . "<br />";
echo "Divisors of number: " . implode(', ', $divisors) . " + negative numbers";
} else {
echo "Input a number that is differed from 0";
}
}
getDivisors(4354657);