-
Notifications
You must be signed in to change notification settings - Fork 0
/
PrimeProdTable.php
42 lines (36 loc) · 1.06 KB
/
PrimeProdTable.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
<?php
require "PrimeNumber.php";
if (defined('STDIN')) {
if($argv[1] === "--count" && is_numeric($argv[2])){
$count = $argv[2];
if($count < 1) exit;
}else{
exit;
}
} else {
exit;
}
$objPrime = new PrimeNumber();
$primeArr = $objPrime->getPrime($count);
//create multiplication table
$lastPrime = $primeArr[count($primeArr)-1];
$maxprimeLen = strlen($lastPrime);
$maxPrdtLen = strlen($lastPrime * $lastPrime)+4;
$table1 = '';
$firstrow = str_repeat(" ",$maxprimeLen).str_pad(" | ",$maxPrdtLen-$maxprimeLen);
$secondrow = str_repeat("-",$maxPrdtLen);
$other="";
foreach($primeArr as $kh => $primeH){
$firstrow .= str_pad($primeH,$maxPrdtLen);
$secondrow .= str_repeat("-",$maxPrdtLen);
$other .= str_pad($primeH . str_repeat(" ",$maxprimeLen-strlen($primeH)) ." | ",$maxPrdtLen);
foreach($primeArr as $kv => $primeV){
$other.= str_pad($objPrime->getProduct($primeH ,$primeV),$maxPrdtLen);
}
$other .= PHP_EOL;
}
$firstrow .= PHP_EOL;
$secondrow .= PHP_EOL;
$table1 .= $firstrow .$secondrow. $other ;
echo $table1;
?>