您好,登錄后才能下訂單哦!
題目如下:
小易有一個圓心在坐標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱坐標都是整數的點是優雅的,小易現在想尋找一個算法計算出優雅的點的個數,請你來幫幫他。
例如:半徑的平方如果為25
優雅的點就有:(+/-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
?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。