[問題] 數學問題

看板java作者 (T@cO)時間7年前 (2017/11/13 19:11), 7年前編輯推噓5(5024)
留言29則, 11人參與, 7年前最新討論串1/1
腦筋打結想不出來 請各位提點一下 int i = (int)(Math.random()* 6 + 1); int n = 100; 希望輸出結果 若i = 1 , 則 n = 100 若i = 2 , 則 n = 200 若i = 3 , 則 n = 600 若i = 4 , 則 n = 1200 若i = 5 , 則 n = 2000 若i = 6 , 則 n = 3000 不想寫一堆if,想請問如何處理i與n,才能出現想要的結果 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.4.125 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1510571498.A.373.html

11/13 19:35, 7年前 , 1F
寫成一個陣列,亂數索引取值。
11/13 19:35, 1F

11/13 20:14, 7年前 , 2F
看不懂上面的式子為何會輸出成下面的東西
11/13 20:14, 2F

11/13 20:41, 7年前 , 3F
抱歉表達能力不佳,我是想輸出成那樣
11/13 20:41, 3F
※ 編輯: taco2548 (42.77.4.125), 11/13/2017 20:43:22

11/13 22:04, 7年前 , 4F
說明一下規則吧?
11/13 22:04, 4F

11/13 22:26, 7年前 , 5F
if (i <= 2) { n *= i }
11/13 22:26, 5F

11/13 22:26, 7年前 , 6F
else if (i == 3) { n = 2 * i * n; }
11/13 22:26, 6F

11/13 22:26, 7年前 , 7F
else { n = 12 * (i - 3) * n; }
11/13 22:26, 7F

11/13 22:26, 7年前 , 8F
單純從上面條件歸納 不太清楚題目..
11/13 22:26, 8F

11/13 22:43, 7年前 , 9F
抱歉應該是我自己題目弄錯=.=
11/13 22:43, 9F
※ 編輯: taco2548 (42.77.4.125), 11/13/2017 22:43:39

11/13 22:45, 7年前 , 10F
改成這樣,就可以用 n*=(i*(i-1)); 解決了
11/13 22:45, 10F

11/13 23:19, 7年前 , 11F
i=1會變零
11/13 23:19, 11F

11/13 23:27, 7年前 , 12F
不想寫if就用?:啊XD
11/13 23:27, 12F

11/14 11:15, 7年前 , 13F
定個 array ans[] = {0,100,200,600,1200,2000,3000
11/14 11:15, 13F

11/14 11:15, 7年前 , 14F
n =ans[i]
11/14 11:15, 14F

11/14 11:16, 7年前 , 15F
懶得歸納數學大概這樣最方便
11/14 11:16, 15F

11/14 11:44, 7年前 , 16F
這種有規則就把規則翻譯成程式而已,不知道規則的話是數學
11/14 11:44, 16F

11/14 11:44, 7年前 , 17F
問題而不是程式問題...
11/14 11:44, 17F

11/15 19:58, 7年前 , 18F
Map.of(1,100,2,200,3,600,4,1200,5,2000,6,3000)
11/15 19:58, 18F

11/15 19:59, 7年前 , 19F
.get(new Random().ints(1, 1, 7).findFirst()
11/15 19:59, 19F

11/15 19:59, 7年前 , 20F
.getAsInt());
11/15 19:59, 20F

11/15 20:02, 7年前 , 21F
或 List.of(100,200,600,1200,2000,3000)
11/15 20:02, 21F

11/15 20:02, 7年前 , 22F
.get(new Random().ints(1,0,6).findFirst()
11/15 20:02, 22F

11/15 20:03, 7年前 , 23F
.getAsInt());
11/15 20:03, 23F

11/15 20:04, 7年前 , 24F
Java 9 才能跑喔…XD
11/15 20:04, 24F

11/15 20:34, 7年前 , 25F
switch(){}
11/15 20:34, 25F

11/16 15:54, 7年前 , 26F
我最終還是寫了一個if啦~~XD
11/16 15:54, 26F

11/16 15:55, 7年前 , 27F
if(i > 1){
11/16 15:55, 27F

11/16 15:56, 7年前 , 28F
n *= (i * (i-1));
11/16 15:56, 28F

11/16 15:56, 7年前 , 29F
}
11/16 15:56, 29F
文章代碼(AID): #1Q2NtgDp (java)
文章代碼(AID): #1Q2NtgDp (java)