首先,我不是一个本地人,对所有这些错误感到抱歉。
我正试图获得两个整数之间最大的回文产品,例如; 3和11,最大将是11 * 11 = 121。
我试过这个。
function Pallendrome($str) : bool {
return (strval($str) == strrev(strval($str))) ? true : false;
}
function largestPalindromicProduct($lower, $upper) {
$array = array();
for($it=$upper; $it >= $lower; $it--){
for($it_=$upper; $it_ >= $lower; $it_--){
$num = $it*$it_;
if(Pallendrome($num)) { array_push($array, $num); }
}
}
if(empty($array)) { return NAN; }
else{ ksort($array); return $array[0];}
}
但是,我需要找到一种方法来优化它,因为由于引入的数字需要花费很长时间,所以有点大。
你们有什么想法吗?谢谢你!
答案 0 :(得分:0)
我确信math.stackexchange.com上的人们可以帮助你提供更好的算法,但是为了优化你到目前为止的目的,这里是我所有评论的总结:
=arrayformula(not(iserror(find(B2:B, join(char(10), C2:C)))))