找出一定范圍內多個連續整數,使其立方之和恰好等於另一個整數的立方


題目如圖,關於這道題的第一問比較簡單,只需驗證式子兩邊是否相等即可。這里主要做一下第二問。

 

 此題要求找出多個連續正整數,使其立方和恰好等於另一個正整數的立方,因為並沒有明確給出相應的條件,比如起始項,項數等,所以找出所有結果並不現實。故將起始項a范圍定位1~1000,項數n<=1000。

具體的實現思路很簡單,先由兩個for循環分別確定起始項和項數,通過立方和公式(此公式可自行推導)求出從a~a+n-1立方和,將其和取立方根,得到的立方根再取立方與立方和比較,若相同則輸出。

關於代碼中出現的立方和公式,當然可以通過建立一個循環求立方和,此處為了提高效率,故采用了公式。

 

 1 public static void main(String[] args) {
 2     long sum=0,cbrtSum=0; 
 3     for(long a=1;a<=1000;a++){
 4         for(long n=2;n<=1000;n++){ 
 5           /*此為求從起始項到結束項的立方和公式*/
 6             sum=n*a*a*a+((n*(n-1))>>1)*(3*a*a+((n<<1)-1)*a+((n*(n-1))>>1));
 7             cbrtSum=(long)Math.cbrt(sum); 
 8             if((long)Math.pow(cbrtSum, 3)==sum){  
 9                 System.out.println(a+"^3+...+"+(a+n-1)+"^3="+cbrtSum+"^3");
10             }
11          }
12      }
13      System.out.println("Finished");
14 }

運行結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM