PHP找到指定范围中的回文数法和平方根是回文数
1。
两值x和y是给定的,而在这个区间的回文数的计数,和它们的平方根也需要为回文数。1≤x<y<1014
两。解决方案:
< PHP
error_reporting(e_all);
ini_set(display_errors
/避免超时
(0)set_time_limit;
T1 =瞬时(美元);
功能isplalindrome($num){
$$;
$ len = strlen($num);
k = intval($ Len / 2)+ 1; / /得到中间数字
对于($ = 0;$ j $ K;$ + +){
如果($ $ J }!= str { $ len-1至J }){
返回false;
}
}
返回true;
}
功能showplalindrome($ min,max美元){
由于在最小/最大美元美元计算,回文数的平方根之间是一个回文
所以一个sqrt 当量/($分钟)~ sqrt($最大)之间的数
广场~美元之间,最小最大 / /美元是回文
最大值是一个连续的正整数,因此它可以减少大量的计算,否则…
美元= sqrt($分)开始;
美元= SQRT($最大);
用于($ i = $开始;$ i $结束;$ + +){
如果(isplalindrome(为我)(N = isplalindrome美元美元美元我*我)){
$;
}
}
}
(1100000000000000)showplalindrome;
T2 =瞬时(美元);
StartTime =爆炸(美元
结果美元=爆炸(
美元美元总=结果{ 0 } $ StartTime { 0 } + $结果{ 1 } $ StartTime { 1 };
$时间= sprintf(%s
回声页面运行时间:$时间秒;
>
希望本文能对大家的PHP程序设计有所帮助。