Advertisement
cdsatrian

quiz abcdef

Mar 15th, 2013
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.24 KB | None | 0 0
  1. <pre>
  2. <?php
  3. //============================
  4. define('_ANGKA',8);
  5. //define('_HURUF','abcdef');
  6. define('_HURUF','abcabcabc');
  7. //============================
  8. $p=0;
  9. $dt[$p]['n']='Heilbert SilenTears Mapaly';
  10. echo "===\nHeilbert SilenTears Mapaly\n";
  11. $t1 = MICROTIME(TRUE);
  12. $angka=_ANGKA;
  13. $huruf=_HURUF;
  14. while(strlen($huruf))
  15. {
  16.   $i=($angka-1) % strlen($huruf);
  17.   echo $huruf[($angka-1) % strlen($huruf)];
  18.   while($i<strlen($huruf))
  19.   {
  20.     if($i==strlen($huruf)-1)
  21.       $huruf=substr($huruf,0,-1);
  22.     else
  23.       $huruf[$i]=$huruf[$i+1];
  24.     $i++;
  25.   }
  26. }
  27. $t2 = MICROTIME(TRUE);
  28. $dt[$p]['t']=$t2-$t1;
  29. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  30. //===
  31. $p=1;
  32. $dt[$p]['n']='Heilbert SilenTears Mapaly *';
  33. echo "===\nHeilbert SilenTears Mapaly *\n";
  34. $t1 = MICROTIME(TRUE);
  35. $angka=_ANGKA;
  36. $huruf=_HURUF;
  37. while(strlen($huruf))
  38. {
  39.   $i=($angka-1) % strlen($huruf);
  40.   echo $huruf[$i];
  41.   $b=str_split($huruf);
  42.   array_splice($b,$i,1);
  43.   $huruf=implode('',$b);
  44. }
  45. $t2 = MICROTIME(TRUE);
  46. $dt[$p]['t']=$t2-$t1;
  47. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  48. //===
  49. $p=2;
  50. $dt[$p]['n']='Sandy Racy';
  51. echo "===\nSandi Racy\n";
  52. $t1 = MICROTIME(TRUE);
  53. $angka=_ANGKA;
  54. $huruf=_HURUF;
  55. while($huruf!='')
  56. {
  57.   $jumlah=strlen($huruf);
  58.   $j=0;
  59.   for($i=1; $i<=$angka; $i++)
  60.   {
  61.     $hasil[$i]=$huruf[$j];
  62.     $i%$jumlah==0 ? $j=0 : $j++;
  63.   }
  64.   echo $hasil[$angka];
  65.   $huruf=str_replace($hasil[$angka], '', $huruf);
  66. }
  67. $t2 = MICROTIME(TRUE);
  68. $dt[$p]['t']=$t2-$t1;
  69. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  70. //===
  71. $p=3;
  72. $dt[$p]['n']='Noer Cholis';
  73. echo "===\nNoer Cholis\n";
  74. $t1 = MICROTIME(TRUE);
  75. $angka=_ANGKA;
  76. $huruf=_HURUF;
  77. function recursive($huruf,$angka,$hasil=''){
  78.   if(strlen($huruf)>=1):
  79.     $genhuruf = autohuruf($huruf,$angka);
  80.     $hasil.= $genhuruf[$angka-1];
  81.     $huruf = str_replace($genhuruf[$angka-1],"",$huruf);
  82.     $hasil = recursive($huruf,$angka,$hasil);
  83.   endif;
  84.   return $hasil;
  85. }
  86. function autohuruf($huruf,$angka){
  87.   if(strlen($huruf) < $angka):
  88.     $huruf.=$huruf;
  89.   endif;
  90.   if(strlen($huruf) < $angka):
  91.     $huruf.=autohuruf($huruf,$angka);
  92.   endif;
  93.   return $huruf;
  94. }
  95. echo recursive($huruf,$angka);
  96. $t2 = MICROTIME(TRUE);
  97. $dt[$p]['t']=$t2-$t1;
  98. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  99. //===
  100. $p=4;
  101. $dt[$p]['n']='Ahmad Anang Atmahadli';
  102. echo "===\nAhmad Anang Atmahadli\n";
  103. $t1 = MICROTIME(TRUE);
  104. $angka=_ANGKA;
  105. $huruf=_HURUF;
  106. while(!empty($huruf)){
  107.   $h=str_split($huruf);
  108.   $n=strlen($huruf);
  109.   $b=floor($angka/$n);
  110.   $s=$angka%$n;
  111.   if($s==0)$s=$n;
  112.   echo $h[$s-1];
  113.   unset($h[$s-1]);
  114.   $huruf=implode('',$h);
  115. }
  116. $t2 = MICROTIME(TRUE);
  117. $dt[$p]['t']=$t2-$t1;
  118. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  119. //===
  120. $p=5;
  121. $dt[$p]['n']='Ahmad Anang Atmahadli *';
  122. echo "===\nAhmad Anang Atmahadli *\n";
  123. $t1 = MICROTIME(TRUE);
  124. $angka=_ANGKA;
  125. $huruf=_HURUF;
  126. while(!empty($huruf)){
  127.   $h=str_split($huruf);
  128.   $n=strlen($huruf);
  129.   $s=($angka%$n)?$angka%$n:$n;
  130.   echo $h[$s-1];
  131.   unset($h[$s-1]);
  132.   $huruf=implode('',$h);
  133. }
  134. $t2 = MICROTIME(TRUE);
  135. $dt[$p]['t']=$t2-$t1;
  136. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  137. //==
  138. /*
  139. echo "===\nGanjar Setia M \n";
  140. echo "</pre>";
  141. $t1 = MICROTIME(TRUE);
  142. $angka = 8;
  143. $huruf = array('a','b','c','d','e','f');
  144. $temp1 = '';
  145. $j = 0;
  146. $outputnya = '';
  147. $sizeHuruf = count($huruf);
  148. for ($loop1 = 1; $loop1 <= $sizeHuruf; $loop1++) {
  149.   for ($i = 1; $i <= $angka; $i++) {
  150.     if ($i <= count($huruf)) {
  151.       echo $huruf[$i-1]." = ".$i."<br/>";
  152.     } elseif ($j < count($huruf)) {
  153.       echo $huruf[$j]." = ".$i."<br/>";
  154.       $j++;
  155.     } else {
  156.       $j = 0;
  157.       echo $huruf[$j]." = ".$i."<br/>";
  158.       $j++;
  159.     }
  160.     if ($i == $angka) {
  161.       $j--;
  162.       $outputnya .= $huruf[$j];
  163.       array_splice($huruf, $j, 1);
  164.     }
  165.   }
  166.   $j = 0;
  167.   echo "<br/>Ini Outputnya:<br/>" . $outputnya . "<br/><br/>";
  168. }
  169. echo "<pre>";
  170. $t2 = MICROTIME(TRUE);
  171. $dt[$p]['t']=$t2-$t1;
  172. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  173. */
  174. //==
  175. $p=6;
  176. $dt[$p]['n']='Ganjar Setia M *';
  177. echo "===\nGanjar Setia M *\n";
  178. $t1 = MICROTIME(TRUE);
  179. $angka = _ANGKA;
  180. $huruf = str_split(_HURUF);
  181. $temp1 = '';
  182. $j = 0;
  183. $outputnya = '';
  184. $sizeHuruf = count($huruf);
  185. for ($loop1 = 1; $loop1 <= $sizeHuruf; $loop1++) {
  186.   for ($i = 1; $i <= $angka; $i++) {
  187.     $c=count($huruf);
  188.     if ($i <= $c) {
  189.     } elseif ($j < $c) {
  190.        $j++;
  191.     } else {
  192.        $j = 1;
  193.     }
  194.     if ($i == $angka) {
  195.        $j--;
  196.        echo $huruf[$j];
  197.        array_splice($huruf, $j, 1);
  198.     }
  199.   }
  200.   $j = 0;
  201. }
  202. $t2 = MICROTIME(TRUE);
  203. $dt[$p]['t']=$t2-$t1;
  204. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  205. //==
  206. $p=7;
  207. $dt[$p]['n']='Nandang Permana #1';
  208. echo "===\nNandang Permana #1\n";
  209. $t1 = MICROTIME(TRUE);
  210. $angka = _ANGKA;
  211. $huruf = str_split(_HURUF);
  212. $hasil = "";
  213. $temp ="";
  214. $jumlah_huruf = count($huruf);
  215. for($i=0;$i<=$jumlah_huruf-1;$i++)
  216. {
  217.   $huruf = array_values($huruf);
  218.   if( ($angka > count($huruf)) && (($angka%count($huruf))!=0) )
  219.   {
  220.     $temp = $huruf[($angka%(count($huruf))-1)];
  221.   }
  222.   else if(($angka%count($huruf))==0)
  223.   {
  224.     $temp = $huruf[count($huruf)-1];
  225.   }
  226.   else
  227.   {
  228.     $temp = $huruf[$angka-1];
  229.   }
  230.   $hasil = $hasil.$temp;
  231.   if(($key = array_search($temp, $huruf)) !== false) {
  232.     unset($huruf[$key]);
  233.   }
  234. }
  235. echo $hasil;
  236. $t2 = MICROTIME(TRUE);
  237. $dt[$p]['t']=$t2-$t1;
  238. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  239. //==
  240. $p=8;
  241. $dt[$p]['n']='Nandang Permana #1 *';
  242. echo "===\nNandang Permana #1 *\n";
  243. $t1 = MICROTIME(TRUE);
  244. $angka = _ANGKA;
  245. $huruf = str_split(_HURUF);
  246. $hasil = "";
  247. $temp ="";
  248. $jumlah_huruf = count($huruf);
  249. for($i=0;$i<=$jumlah_huruf-1;$i++)
  250. {
  251.   $c=count($huruf);
  252.   $huruf = array_values($huruf);
  253.   $temp =($angka%$c==0?$huruf[$c-1]:($angka > $c?$huruf[$angka%$c-1]:$huruf[$angka-1]));
  254.   $hasil .=$temp;
  255.   if(($key = array_search($temp, $huruf)) !== false) {
  256.     unset($huruf[$key]);
  257.   }
  258. }
  259. echo $hasil;
  260. $t2 = MICROTIME(TRUE);
  261. $dt[$p]['t']=$t2-$t1;
  262. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  263. //==
  264. $p=9;
  265. $dt[$p]['n']='Verri Andriawan';
  266. echo "===\nVerri Andriawan\n";
  267. $t1 = MICROTIME(TRUE);
  268. $angka=_ANGKA;
  269. $huruf=_HURUF;$i=0;$j=0;
  270. $temp='';
  271. while(strlen($huruf)>0){
  272.   if(!isset($huruf[$j]))$j=0;
  273.   $i++;
  274.   if($i>=$angka){
  275.     $temp.=$huruf[$j];
  276.     $huruf[$j]=' ';
  277.     $huruf=preg_replace('/\s/','',$huruf);
  278.   }
  279.   $j++;
  280.   if($i>=$angka)$i=$j=0;
  281. }
  282. $huruf=$temp;
  283. echo $huruf;
  284. $t2 = MICROTIME(TRUE);
  285. $dt[$p]['t']=$t2-$t1;
  286. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  287. //==
  288. $p=10;
  289. $dt[$p]['n']='Verri Andriawan *';
  290. echo "===\nVerri Andriawan *\n";
  291. $t1 = MICROTIME(TRUE);
  292. $angka=_ANGKA;
  293. $huruf=_HURUF;
  294. $i=$j=0;
  295. $temp='';
  296. while(!empty($huruf)){
  297.   if(!isset($huruf[$j]))$j=0;
  298.   $i++;
  299.   if($i>=$angka){
  300.     $temp.=$huruf[$j];
  301.     $huruf[$j]=' ';
  302.     $huruf=str_replace(' ','',$huruf);
  303.   }
  304.   $j++;
  305.   if($i>=$angka)$i=$j=0;
  306. }
  307. echo $temp;
  308. $t2 = MICROTIME(TRUE);
  309. $dt[$p]['t']=$t2-$t1;
  310. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  311. //==
  312. $p=11;
  313. $dt[$p]['n']='Share Yo';
  314. echo "===\nShare Yo\n";
  315. $t1 = MICROTIME(TRUE);
  316. $angka=_ANGKA;
  317. $huruf=_HURUF;
  318. function repos_str(&$str,$n){
  319.   $r="";
  320.   while ($l=strlen($str)){
  321.     $s=$n%$l-1;
  322.     if($s<0)$s=$l-1;
  323.     $r.=$str[$s];
  324.     $str=substr_replace($str,"",$s,1);
  325.   }
  326.   return $r;
  327. }
  328. echo repos_str($huruf,$angka);
  329. $t2 = MICROTIME(TRUE);
  330. $dt[$p]['t']=$t2-$t1;
  331. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  332. //==
  333. $p=12;
  334. $dt[$p]['n']='Share Yo *';
  335. echo "===\nShare Yo*\n";
  336. $t1 = MICROTIME(TRUE);
  337. $angka=_ANGKA;
  338. $huruf=_HURUF;
  339. $r="";
  340. while ($l=strlen($huruf)){
  341.   $s=$angka%$l-1<0?$l-1:$angka%$l-1;
  342.   $r.=$huruf[$s];
  343.   $huruf=substr_replace($huruf,"",$s,1);
  344. }
  345. echo $r;
  346. $t2 = MICROTIME(TRUE);
  347. $dt[$p]['t']=$t2-$t1;
  348. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  349. //==
  350. $p=13;
  351. $dt[$p]['n']='Nandang Permana #2';
  352. echo "===\nNandang Permana #2\n";
  353. $t1 = MICROTIME(TRUE);
  354. $angka = _ANGKA;
  355. $huruf = str_split(_HURUF);
  356. $hasil = "";
  357. $key = 0;
  358. $jumlah_huruf = count($huruf);
  359. for($i=0;$i<=$jumlah_huruf-1;$i++)
  360. {
  361.   $c=count($huruf);
  362.   $huruf = array_values($huruf);
  363.   $key =($angka%$c==0?$c-1:($angka > $c?$angka%$c-1:$angka-1));
  364.   $hasil .= $huruf[$key];
  365.   unset($huruf[$key]);
  366. }
  367. echo $hasil;
  368. $t2 = MICROTIME(TRUE);
  369. $dt[$p]['t']=$t2-$t1;
  370. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  371. //==
  372. $p=14;
  373. $dt[$p]['n']='Chakoo Chandra #1';
  374. echo "===\nChakoo Chandra #1\n";
  375. $t1 = MICROTIME(TRUE);
  376. $angka = _ANGKA;
  377. $huruf = _HURUF;
  378. recur($huruf, $angka, '');
  379. function recur($huruf, $angka, $ch) {
  380.   $idx = $angka % strlen($huruf) - 1;
  381.   if ($idx < 0)
  382.     $idx = strlen($huruf) - 1;
  383.   $char = substr($huruf, $idx, 1);
  384.   $huruf = str_replace($char, '', $huruf);
  385.   $ch.=$char;
  386.   if (strlen($huruf) > 0) {
  387.     recur($huruf, $angka, $ch);
  388.   } else {
  389.     echo $ch;
  390.   }
  391. }
  392. $t2 = MICROTIME(TRUE);
  393. $dt[$p]['t']=$t2-$t1;
  394. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  395. //==
  396. $p=15;
  397. $dt[$p]['n']='Chakoo Chandra #2';
  398. echo "===\nChakoo Chandra #2\n";
  399. $t1 = MICROTIME(TRUE);
  400. $angka = _ANGKA;
  401. $huruf = _HURUF;
  402. $arr_huruf = str_split($huruf);
  403. recur2($arr_huruf, $angka,'');
  404. function recur2($huruf, $angka,$ch) {
  405.   $idx = $angka % count($huruf) - 1;
  406.   if ($idx < 0)
  407.     $idx = count($huruf) - 1;
  408.   $char=array_splice($huruf, $idx, 1);
  409.   $ch.=$char[0];
  410.   if (count($huruf) > 0) {
  411.     recur2($huruf, $angka,$ch);
  412.   } else {
  413.     echo $ch;
  414.   }
  415. }
  416. $t2 = MICROTIME(TRUE);
  417. $dt[$p]['t']=$t2-$t1;
  418. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  419. //==
  420. $p=16;
  421. $dt[$p]['n']='Maman Wae *';
  422. echo "===\nMaman Wae *\n";
  423. $t1 = MICROTIME(TRUE);
  424. $angka = _ANGKA;
  425. $huruf = _HURUF;
  426. $a=$b=0;$output='';//--inisialisasi
  427. while (strlen($huruf)>0){
  428.   $a++;
  429.   $b++;
  430.   $x = strlen($huruf);
  431.   if($b==$angka){
  432.     $output .= substr($huruf,$a-1,1);
  433.     $huruf = str_replace(substr($huruf,$a-1,1),'',$huruf);
  434.     $a = 0;
  435.     $b = 0;
  436.   }
  437.   if ($a==$x) $a = 0;
  438. }
  439. echo $output;
  440. $t2 = MICROTIME(TRUE);
  441. $dt[$p]['t']=$t2-$t1;
  442. echo "\nMakan waktu: ".$dt[$p]['t']." sekon\n";
  443. //===
  444. echo "===\nGRAND RESULT\n";
  445. foreach ($dt as $key => $row) {
  446.     $_name[$key] = $row['n'];
  447.     $_time[$key] = $row['t'];
  448. }
  449. array_multisort($_time, SORT_ASC, $_name, SORT_ASC, $dt);
  450. $no=1;
  451. foreach($dt as $data){
  452.   echo str_pad($no,3,' ',STR_PAD_LEFT).". "
  453.       .str_pad($data['n'],28,' ')
  454.       .str_pad($data['t'],24,' ',STR_PAD_LEFT)."\n";
  455.   $no++;    
  456. }
  457. echo "===\n)* modified";
  458. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement