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

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

與此 Python 等效的 C# 是什么?

與此 Python 等效的 C# 是什么?

C#
紅顏莎娜 2023-08-20 14:47:25
從這里開始,與此代碼等效的 C# 是什么?我認為**是指數,但我不知道是什么[i]。def sequence(v, p, column):    subsequence = []    for i in range(v):        subsequence += [i] * v**(p - column)    return subsequence * v**(column - 1)
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

人們可以這樣做:


public static List<int> sequence(int v, int p, int column) {

  var subsequence = new List<int>();

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

    int limit = (int)Math.Pow(v, p - column);

    for (int j = 0; j < limit; j++)

      subsequence.Add(i);

  }


  var true_sequence = new List<int>();

  for (int k = 0; k < (int)Math.Pow(v, column - 1); k++)

    true_sequence.AddRange(subsequence);


  return true_sequence;

}

[i] * <number>是“重復此列表<number>次數并將結果放入新列表”的符號。[i]只是一個僅包含 number 的列表i。


編輯:解釋


for i in range(v):

可以很好地翻譯為:


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

subsequence += [i] * v**(p - column)

這有點復雜,但它本質上說的是“取 v,取它的 (p - 列) 次方,然后將該數字添加到子i序列中”。這很接近:


int limit = Math.Pow(v, p - column);

for (int j = 0; j < limit; j++)

  subsequence.Add(i);

return subsequence * v**(column - 1)

現在這意味著“取 v 的(列 - 1)次方,并返回一個包含許多子序列實例的列表。” 這就是函數中其余代碼的作用:獲取 Math.Pow(v, column - 1) 子序列,將它們全部添加到列表中,然后返回所述列表。


查看完整回答
反對 回復 2023-08-20
  • 1 回答
  • 0 關注
  • 139 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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