Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Methode, um die Anzahl der Palindrome in einem Bereich zu ermitteln, und die Quadratwurzel ist ebenfalls eine Palindromzahl

PHP-Methode, um die Anzahl der Palindrome in einem Bereich zu ermitteln, und die Quadratwurzel ist ebenfalls eine Palindromzahl

*文
*文Original
2017-12-26 10:58:341833Durchsuche

Wie finde ich die Palindromzahl in einem Bereich und die Quadratwurzel ist auch eine Palindromzahl in PHP? In diesem Artikel wird hauptsächlich die Methode von PHP vorgestellt, die Anzahl der Palindrome in einem bestimmten Bereich zu ermitteln. Die Quadratwurzel ist auch eine Palindromzahl. Er analysiert die Technik von PHP zur Beurteilung von Palindromen anhand von Beispielen. Ich hoffe, es hilft allen.

Das Beispiel in diesem Artikel beschreibt, wie PHP die Anzahl der Palindrome in einem bestimmten Bereich ermitteln kann und die Quadratwurzel ebenfalls eine Palindromzahl ist. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Anforderungen:

Geben Sie zwei Werte X und Y an, zählen Sie die Anzahl der Palindrome in diesem Intervall und verlangen Sie, dass ihre Quadratwurzeln ebenfalls Palindrome sind. Darunter 1<= >

Ein kleiner Vergleich der PHP-Funktionsausführungseffizienz_PHP-Tutorial

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
//避免超时
set_time_limit(0);
$t1=microtime();
function isPlalindrome($num){
  $str="$num";
  $len=strlen($num);
  $k = intval($len/2) + 1;//获取中间位数
  for($j=0;$j<$k;$j++){
    if($str{$j}!=$str{$len-1-$j}){ 
      return false;
    }
  } 
  return true;
}
function showPlalindrome($min,$max){
//因为要计算在$min,$max间的回文数且其自身平方根也是回文数
//所以相当于求一sqrt($min)~sqrt($max)间数
//其平方在$min~$max间也是回文数
//$min~$max是连续正整数,所以可以这样缩小很多计算量,否则……
  $start=sqrt($min);
  $end=sqrt($max);
  for($i=$start;$i<$end;$i++){
    if(isPlalindrome($i) &&isPlalindrome($n=$i*$i) ){
     echo $n." <br/>";
    }
  }
}
showPlalindrome(1,100000000000000);
$t2=microtime();
$starttime = explode(" ",$t1);
$endtime = explode(" ",$t2);
$totaltime = $endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
$timecost = sprintf("%s",$totaltime);
echo "页面运行时间: $timecost 秒";
?>

PHP-Algorithmus-Split-Array ohne array_chunk( )_PHP-Tutorial

PHP löst das Problem der UTF-8- und GB2312-Kodierungskonvertierung_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonPHP-Methode, um die Anzahl der Palindrome in einem Bereich zu ermitteln, und die Quadratwurzel ist ebenfalls eine Palindromzahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn