89 lines
2.4 KiB
PHP
89 lines
2.4 KiB
PHP
<?php include '../common.php'; ?><!DOCTYPE html>
|
|
<html lang="no">
|
|
<head>
|
|
<title><?=title();?></title>
|
|
<link rel="stylesheet" href="../index.css">
|
|
|
|
<style>
|
|
td {
|
|
height: 90px;
|
|
width: 90px;
|
|
}
|
|
tr:nth-child(2n) td:nth-child(2n), tr:nth-child(2n+1) td:nth-child(2n+1) {
|
|
background-color: #666;
|
|
color: #fff;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
<h1><?=title();?></h1>
|
|
<h4><?=getNavigation();?></h4>
|
|
<h2>Sjakk og hvete</h2>
|
|
|
|
<?php
|
|
function numToStr($num): string {
|
|
$ret = [];
|
|
|
|
// Definerer hvilke tall vi skal dele opp på
|
|
$tallTekster[1_000_000_000_000_000_000] = "trillion";
|
|
$tallTekster[1_000_000_000_000_000] = "billiard";
|
|
$tallTekster[1_000_000_000_000] = "billion";
|
|
$tallTekster[1_000_000_000] = "milliard";
|
|
$tallTekster[1_000_000] = "million";
|
|
$tallTekster[1_000] = "tusen";
|
|
$tallTekster[100] = "hundre";
|
|
|
|
// Løkke gjennom de tallene
|
|
foreach ($tallTekster as $desimal => $navn){
|
|
if(($tall = floor($num/$desimal)) > 0){
|
|
$tekst = $navn;
|
|
// Gramatisk riktig når det kun er én enhet (unntak tusen og hundre)
|
|
if($tall != 1 && $navn != "tusen" && $navn != "hundre" && $navn != ""){ $tekst .= "er"; }
|
|
|
|
$ret[] = $tall." ".$tekst;
|
|
// Trekker fra tallene i $num, så det som står igjen er neste deling
|
|
$num = $num-($tall*$desimal);
|
|
}
|
|
}
|
|
// Legger på siste de siste tallene etter en "og"
|
|
if($num > 0){
|
|
$ret[] = "og ".$num;
|
|
}
|
|
|
|
return str_replace(', og', ' og', implode(', ', $ret));
|
|
}
|
|
?>
|
|
|
|
<table border="1">
|
|
<tbody>
|
|
<tr>
|
|
<?php
|
|
$i = 1;
|
|
echo "<td>$i</td>";
|
|
|
|
for($c = 2; $c <= 64; $c++){
|
|
$i = $i + $i;
|
|
|
|
if($i > 1_000_000_000){
|
|
echo "<td>".numToStr($i)."</td>";
|
|
}
|
|
else {
|
|
echo "<td>$i</td>";
|
|
}
|
|
|
|
// Layout - 8 kolonner
|
|
if($c % 8 == 0){
|
|
echo "</tr>\n <tr>";
|
|
}
|
|
}
|
|
|
|
?>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|