Re: [發問]請問關於迴圈的題目

看板MATLAB作者 (雁)時間13年前 (2012/12/13 10:38), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《Silent50286 ()》之銘言: : 題目是: : 要完成排列組合C(n,k),並起使用者輸入n及k, : 若n及k 為非整數或負數時,請使用者重新輸入,直到n及k為合理。 : 小妹我寫出來是這樣: : n=input('請輸入n :'); %請輸入n值 : k=input('請輸入k :'); % 輸入k值 : while x==100 : if n<0||~isinteger(n)||k<0||~isinteger(k) %如果n及k為非整數或負數時 : n=input('請輸入n :'); %再輸入一次n值 : k=input('請輸入k :'); %再輸入一次k值 : end : end : fprintf('%d\n',factorial(n)/(factorial(k)* factorial(n-k))) %計算C(n,k)答案 : -------- : 我在測試時輸入 n及k 是負數或非整數, : 迴圈好像跑不出來,是不是寫錯了呢? : 請各位大大指教 !! 感謝 剛沒仔細看判別式...多虧樓上那位有說明,還有依你的計算方式, 要多加入n是否大於等於k的判別式,因為factorial要代入正整數 while 1 n=input('請輸入n :'); %請輸入n值 k=input('請輸入k :'); % 輸入k值 if (n<0 || (n/ceil(n))~=1 || k<0 || (k/ceil(k))~=1) || (n<k) disp('--------- 請再次輸入 ---------); continue; else break; end end fprintf('%d\n',factorial(n)/(factorial(k)* factorial(n-k))) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.5.153 ※ 編輯: james1022jk 來自: 114.38.5.153 (12/13 11:26)

12/15 00:45, , 1F
我了解了 感謝解答 !!
12/15 00:45, 1F
文章代碼(AID): #1GoJ-Coo (MATLAB)
文章代碼(AID): #1GoJ-Coo (MATLAB)