Home  >  Article  >  Backend Development  >  PHP method to find the palindrome number in a range and the square root is also a palindrome number

PHP method to find the palindrome number in a range and the square root is also a palindrome number

*文
*文Original
2017-12-26 10:58:341756browse

How to find the palindrome number in a range and the square root is also a palindrome number in php? This article mainly introduces the method of PHP to find the number of palindromes in a specified range and the square root is also a palindrome number. It analyzes PHP's technique of judging palindromes through examples. I hope to be helpful.

The example of this article describes the method of PHP to find the palindrome number in the specified range and the square root is also a palindrome number. Share it with everyone for your reference. The details are as follows:

1. Requirements:

Given two values ​​​​X and Y, count the number of palindromes in this interval, and require that their square roots are also palindromes. Among them 1<= x <= y < 10 14

2. Solution:


<?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 秒";
?>

Related recommendations:

Small comparison of PHP function execution efficiency_PHP tutorial

php Algorithm to split array without array_chunk()_PHP Tutorial

PHP solves the problem of utf-8 and gb2312 encoding conversion_PHP tutorial

The above is the detailed content of PHP method to find the palindrome number in a range and the square root is also a palindrome number. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn