aabb 完全平方數(shù)

problem

輸出所有aabb的四位完全平方數(shù)(即前兩位數(shù)字相等,後兩位數(shù)字也相等)

solution

method1

第一次看到這個(gè)問題是這麼想的

for ( int i = 1000 ; i < 10000 ; i++ )
{
    if( (千位數(shù) == 百位數(shù)) && (十位數(shù) == 個(gè)位數(shù)) && (i開根號為整數(shù)) )
        printf("%d",i);
}

但是這樣的解法迴圈就要跑9000次,並且要另外寫函數(shù)把每一位字都求出來,太過於麻煩。

method2

我們看看第二種想法,仔細(xì)想想 aabb = a * 1100 + b * 11 , a有19的可能性,b有09的可能性,用雙層迴圈去組合所有的可能,在判斷開根號是否為正整數(shù)

for ( int a = 1 ; a <= 9 ; a++ )
    for ( int b = 0 ; b <= 9 ; b++ )
    {
        n = a * 1100 + b * 11;
        m=sqrt(n);
        
        if(m為整數(shù))
            printf("%d",n);
    }

method3

用一個(gè)變數(shù)x從一開始取平方(迴圈),當(dāng)x取平方在1000~9999之間時(shí),判斷此數(shù)的1.千位數(shù)是否等於百位數(shù)且2.千位數(shù)是否等於百位數(shù),如果兩條件皆成立,則輸出

for(int x = 1; ; x++ )
{
    n = x * x 
    if( n < 1000 )
        conitue;
    if(n > 9999)
        break;

    if(千位數(shù) == 百位數(shù) && 千位數(shù) == 百位數(shù))
        printf("%d",n); 
}

節(jié)錄自-提升程式設(shè)計(jì)的邏輯思考力 by 劉汝佳

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 為何叫做 shell ? shell prompt(PS1) 與 Carriage Return(CR) 的關(guān)系?...
    Zero___閱讀 3,331評論 3 49
  • (有劇透) 出于對長人名的恐懼,我對于俄語世界的小說是有些敬而遠(yuǎn)之的。前幾天翻出一本七年前買的、可能也就翻過一兩頁...
    坑蒙拐騙七月半閱讀 1,037評論 0 1
  • 什么才算是好的休息方式?1.閱讀2.親近大自然3.獨(dú)處 人們在獨(dú)處的時(shí)候,更容易把注意力放在自己的感覺,身體以及情...
    劉書亞的天堂之路閱讀 207評論 1 1
  • 5月的廣州還是不是最熱的時(shí)候,雖然有時(shí)候心里會有點(diǎn)心火燒,但是偶爾下雨的夜晚一切還是那么的寧靜。 報(bào)名考了駕照...
    ppn老頭閱讀 174評論 0 0
  • 一、概述 在前面的學(xué)習(xí)中,我們已經(jīng)對Adapter有了大概的了解,在整個(gè)RecyclerView的體系當(dāng)中,Ada...
    澤毛閱讀 4,936評論 0 13

友情鏈接更多精彩內(nèi)容