回覆列表
  • 1 # 使用者5395983585097

    你給出的答案明顯就有漏的,用你的程式求解,得不到那個“ -99”,但是事實上它也是一個答案,你是用一個個列舉的方法來求的,而列舉的範圍是你定的。如果你把i的初始值定為小於-99的整數,那麼你的程式也可以得到這個答案。

    但是在未求解前你是不知道的,也就是說,你不分析就編寫出這樣的程式很有可能會有疏漏。所以編寫前一定要分析嚴密一點,保證不會有疏漏。

    而且從另一方面說你給出那麼多數,也是浪費計算機資源。如果你認真看一下我的演算法,應該會理解我的是沒有疏漏的。而且經過分析後,明顯可以減少計算機的工作量,雖然在這題裡這麼點計算量不算什麼。我的程式只計算了13種可能的情況,並且計算的都是簡單的運算,你的程式段還要用到開方的函式,計算100000種可能。。。。。

    另外,我的程式是在VC6.0環境下編譯連線透過。看你的答案中的程式碼,應該是其他編譯器,如果我的程式碼在你的編譯器中有問題,你可以只取其中的核心部分,稍作修改即可。

    ——————————————————————

    //該整數可能為:1581、261、21、-99

    /*

    問題:一整數,它加100後是完全平方數,再加168還是完全平方數,求該整數

    解題思路:設該數為x,它加100後是A,再加168為B。

    則因為A是完全平方數,

    所以A為正數,且A=y*y,y為正整數或0。

    同理,B為正數,B=z*z,z為正整數。

    因為B=A+168>A,所以,我們可設z=y+n,n為正整數,n>0。

    由B=A+168,有:(y+n)(y+n)=y*y+168,即:y=84/n-n/2。

    又y為正整數,所以84/n-n/2≥0,則得出n≤13

    所以,程式設計時可用的條件有:

    0

  • 中秋節和大豐收的關聯?
  • 《笑傲江湖》東方不敗的葵花寶典,運用在《天龍八部》中會怎樣?