溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

網(wǎng)易2017校招編程:優(yōu)雅的點(PHP版本)

發(fā)布時間:2020-08-03 04:59:03 來源:網(wǎng)絡 閱讀:508 作者:森森相惜 欄目:web開發(fā)

題目如下:

小易有一個圓心在坐標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱坐標都是整數(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

?>


向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI