亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

寫一個降冪方法

寫一個降冪方法

慕標琳琳 2023-04-26 16:13:20
public static long fallingPower(int n, int k)然而,在許多組合公式中有用的相關運算中,在語法上通過下劃線表示指數,乘積中的每一項總是比前一項少一個。例如,下降功率 83 將計算為 8 * 7 * 6 = 336。類似地,下降功率 105 將等于 10 * 9 * 8 * 7 * 6 = 30240。如果基數 n 為負,則沒有任何重要變化。例如,下降功率 (-4)5 的計算方式與 -4 * -5 * -6 * -7 * -8 = -6720 完全相同。此方法應計算并返回下降冪 nk,其中 n 可以是任何整數,k 可以是任何非負整數。(類似于普通的冪,n0 = 1 表示任何 n。)自動測試器的設計使您的方法無需擔心潛在的整數溢出,只要您使用 long 類型的 64 位整數執行計算。public static long fallingPower(int n, int k)    long result = n;    for (int i = n; i < k; i--) {      result = result * n;    }    return result;  }我的方法對嗎?
查看完整描述

4 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

它應該是:


public static long fallingPower(int n, int k){

long result = n;


for (int i = 0; i < k; i++) {

 n=n-1;

 result = result * n;

}

return result;

}


查看完整回答
反對 回復 2023-04-26
?
森林海

TA貢獻2011條經驗 獲得超2個贊

public static long fallingPower(int n, uint k){

    long result = 1;


    for(; k > 0; k--, n--){

        result *= n;

    }


    return result;

}


查看完整回答
反對 回復 2023-04-26
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

你應該乘以k時間,從每個因子開始n并遞減一個。您的代碼目前沒有任何意義。我會這樣做:


public static long fallingPower(int n, int k)

    long result = n;


    for (int i = 1; i < k; i++) {

      result = result * (n-i);

    }


    return result;

}

k必須是非負的,所以你也需要在方法中處理它,例如有一個例外:


public static long fallingPower(int n, int k)

    if(k < 0) {

        throw new IllegalArgumentException("Negative exponent");

    }

    long result = n;


    for (int i = 1; i < k; i++) {

      result = result * (n-i);

    }


    return result;

}


查看完整回答
反對 回復 2023-04-26
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

如果我沒記錯的話,這更多的是編程邏輯,而不是你的方法。我沒有錯誤處理。我開始像你一樣倒退,假設零的最小整數排列等于 1,至少我們需要返回 1。你可以從 n 之前的 k 個數字開始,然后乘以直到達到 n。


public static long fallingPower(int n, int k) 

{

    long result = 1;

    for (int i = 1 ; i <= k ; i++) {

      result = result * n;

      n = n-1;

    }

    return result;

}


查看完整回答
反對 回復 2023-04-26
  • 4 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號