php找出指定范围内回文数且平方根也是回文数的方法

这篇文章主要介绍了php找出指定范围内回文数且平方根也是回文数的方法,实例分析了php判断回文的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
 
 

本文实例讲述了php找出指定范围内回文数且平方根也是回文数的方法。分享给大家供大家参考。具体如下:

一、要求:

给出两个数值X和Y,统计在这个区间里的回文数,并且要求它们的平方根也是回文数。其中 1<= x <= y < 10 14

二、解决方法:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

<?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程序设计有所帮助。

 

时间: 2024-11-08 23:20:57

php找出指定范围内回文数且平方根也是回文数的方法的相关文章

找出指定目录下,大于指定大小的文件(LINUX SHELL)

当前目录下: find ./ -size +2048k |xargs du -b|awk '{print $1/1024/1024 "M" $2}'|sort -n ...... 2.53318M./images3545s_.jpg2.53318M./images607s_.jpg2.53318M./image26s_.jpg2.53318M./image2153654s_.jpg2.63534M./images58s_.JPG   ........ 切忌的用法: find ./ -s

Prips - 打印指定范围内的IP地址

Prips - 打印指定范围内的IP地址 prips是一个可以打印出指定范围内所有ip地址的一个工具.它可以增强那些只能同时工作在一个主机上的工具的可用性. 在ubuntu上安装prips 打开终端并输入下面的命令 sudo apt-get install prips 使用prips prips语法 prips [-c] [-d delim] [-e exclude] [-f format] [-i incr] start end prips [-c] [-d delim] [-e exclud

java 集合问题找出两个集合中相同的元素并打印出来

问题描述 java 集合问题找出两个集合中相同的元素并打印出来 把1-100 数随机放入到 数组长度为[97] 并且这些元素不能重复,找出未输入进数组的数! 解决方案 package set; import java.util.HashSet; /* 作业: 把1-100 数随机不重复放入到 数组[97] ,找出未存入的数! */ public class Test5 { public static void main(String[] args) { // 1.创建 一个 HashSet集合,

c++找出a b区域之间所有回文素数并输出

问题描述 c++找出a b区域之间所有回文素数并输出 编译错误,求大神帮看 #include #include using namespace std; int main() { int a,b,n; cin>>a>>b; for(n=a;n<=b;n++) { bool p(long m) { m=n; int s=0; while(m>0) { s=s*10+m%10; m=m/10; } if(s==n) return 1; else return 0; } if

快速找出两个Word文档间的差别

  我们经常会遇到这样的问题:两份Word文件之中,只有一些极为细小的区别,如果单纯通过人工的方法去进行校对,那么不仅效率很低,而且也容易出错,容易漏掉一些不太明显的区别.Word 2003已经内置了一个小功能,可以让我们快速地找出两个Word文档之间的不同. 操作步骤如下: 首先打开待比较的Word源文件. 执行"工具"菜单→"比较并合并文档"命令,在弹出的"比较并合并文档"窗口中单击另一份待比较文件,然后再勾选"精确比较"

对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进

读了老罗的"仅通过崩溃地址找出源代码的出错行"(下称"罗文")一文后,感觉该文还是可以学到不少东西的.不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 .为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 .欢迎各位朋友批评指正. 一.该方法适用的范围 在windows程序中造成程序崩溃的原因很多,而文中所述的方法仅适用与:由一条语句当即引起的程序崩溃.如原文中举的除数为零的

【原创】Matlab.NET混合编程技巧之找出Matlab内置函数

              本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破脑袋,加班几个晚上,调试才能解决.同样,由于Matlab.NET混编的特殊性,加上MathWorks的原因,英文文档和没有披露一些详细的细节(甚至不允许反编译MWArray.dll,呵呵,它不允许

PostgreSQL 中如何找出记录中是否包含编码范围内的字符,例如是否包含中文

标签 PostgreSQL , 是否含有中文 背景 从已有字符串内容中找出含有中文,或者找出含有单字节字符的记录. 方法要从字符串在数据库中的编码和存储说起.比如多字节字符集,单字节字符SQL_ASCII. 比如PostgreSQL中UTF8, EUC_CN属于多字节字符集,编码为变长编码. SQL_ASCII为无编码字符集,存储为字节流. 要从不同字符集中找出含有中文的记录,该怎么找? 测试环境 已有数据库如下,注意编码 postgres=# \l List of databases Name

url-c# winfrom 从服务器post回一些网页数据 如何从里面找出自己想要的值 如下

问题描述 c# winfrom 从服务器post回一些网页数据 如何从里面找出自己想要的值 如下 div class="tcontent"> <meta http-equiv="refresh" content="10 url=/mytest?uid=555" /><p class="t1">成功! <a href='/test.php?uid=555'></a></