您好,登錄后才能下訂單哦!
題目如下:
小易有一個圓心在坐標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱坐標都是整數(shù)的點是優(yōu)雅的,小易現(xiàn)在想尋找一個算法計算出優(yōu)雅的點的個數(shù),請你來幫幫他。
例如:半徑的平方如果為25
優(yōu)雅的點就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12個點。
<?php
function countGracePoint($n){
$count = 0;
for($x = 1;$x*$x < $n;$x++){
$y = (int)sqrt($n - $x*$x);
if($x*$x + $y*$y == $n){
$count++;
}
}
$count *= 4;//因為存在四象限的情況,即有四種情況,
$x = (int)sqrt($n);
if($x * $x == $n) $count += 4;//某一坐標為0,也是有四種情況的
return $count;
}
echo countGracePoint(25);//12
?>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。