C 練習(xí)實(shí)例3

C 語(yǔ)言經(jīng)典100例 C 語(yǔ)言經(jīng)典100例

題目:一個(gè)整數(shù),它加上 100 后是一個(gè)完全平方數(shù),再加上 268 又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少?

程序分析:在 10 萬(wàn)以?xún)?nèi)判斷,先將該數(shù)加上 100 后再開(kāi)方,再將該數(shù)加上 268 后再開(kāi)方,如果開(kāi)方后的結(jié)果滿(mǎn)足如下條件,即是結(jié)果。

程序源代碼:

#include <stdio.h>
#include "math.h"

int main() {
    long int i,x,y;
    for (i=1;i<100000;i++) {
        x=sqrt(i+100); // x為加上100后開(kāi)方后的結(jié)果
        y=sqrt(i+268); // y為再加上268后開(kāi)方后的結(jié)果
        if(x*x==i+100 && y*y==i+268){ //如果一個(gè)數(shù)的平方根的平方等于該數(shù),這說(shuō)明此數(shù)是完全平方數(shù)
            printf("\n%ld\n",i);
        }
    }
}

以上實(shí)例輸出結(jié)果為:

21

261

1581

C 語(yǔ)言經(jīng)典100例 C 語(yǔ)言經(jīng)典100例