Jump to content
php.lv forumi

Recommended Posts

Posted

Formula ir ļoti vienkārša, vajag tik pamatskolas matemātiku zināt:

$s = "";
while ($x > 0)
{
$s = chr(ord('a') + $x%26) . $s;
$x /= 26;
}

Posted

Hmm, jā, Atvainojos. It works.

 

Beigās nonācu pie šāda:

	function int2token($x) {
	$s = "";
	while ($x >= 1) {
		$x = $x - 1;
		$s = chr(ord('a') + ($x%26)) . $s;
		$x = $x / 26;
	}
	return $s;
}

Posted

Vispār, iesaku izmēģināt sākotnējo 'bubu' ieteikto algoritmu :) Vienkārši uztaisām ciklu ar 1-100 un paskatāmies, kādus burtus atgriež.

Posted
$x dalot ar 26, mēs iegūsim arvien mazāku daļskaitli.

 

Ah pareiz, tev taisnība. Sorry, pieradums pie stingrāk tipizētām valodām liek manīt... php ikdienā neprogrammēju, tāpēc daudzkas piemirstas.

Aizvieto to dalīšanas rindu par $x = intval($x / 26); un tad būs ok.

×
×
  • Create New...