Maison > développement back-end > tutoriel php > Méthode PHP pour trouver le nombre de palindromes dans une plage et la racine carrée est aussi un nombre de palindrome

Méthode PHP pour trouver le nombre de palindromes dans une plage et la racine carrée est aussi un nombre de palindrome

*文
Libérer: 2023-03-18 13:50:01
original
1867 Les gens l'ont consulté

Comment trouver le nombre palindrome dans une plage et la racine carrée est aussi un nombre palindrome en PHP ? Cet article présente principalement la méthode PHP pour trouver le nombre de palindromes dans une plage spécifiée et la racine carrée est également un nombre de palindrome. Il analyse la technique PHP de jugement des palindromes à travers des exemples. J'espère que cela aide tout le monde.

L'exemple de cet article décrit comment PHP peut trouver le nombre de palindromes dans une plage spécifiée et la racine carrée est également un nombre de palindrome. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

1. Exigences :

Donnez deux valeurs X et Y, comptez le nombre de palindromes dans cet intervalle, et exigez que leurs racines carrées soient également des palindromes. Parmi eux, 1<= >

Petite comparaison de l'efficacité de l'exécution des fonctions PHP_Tutoriel PHP

<?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 秒";
?>
Copier après la connexion

tableau divisé de l'algorithme php sans array_chunk()_PHP tutoriel

PHP résout le problème de l'encodage utf-8 et gb2312 conversion_PHP tutoriel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal