作者TameFoxx (foxx)
看板C_Sharp
標題Re: [問題] 新手除法餘數求解
時間Fri Sep 25 11:07:52 2015
※ 引述《kyo0010 (~KYO~)》之銘言:
: 剛測試一下%求餘數時,發現小數的無法解,語法如下
: double a = 4.2 / 3.0;
: Console.WriteLine(a);
: a = 4.2 % 3.0;
: Console.WriteLine(a);
: Console.ReadKey();
: 第一個a顯示1.4,用心算也可以得知這是整除的
: 我本來以為第二個a會是0,可是第二個a顯示1.2,這邊是用法不對嗎?
: 還是小數整除無法求餘數?
原PO應該出來一下
跟回答的人道個歉
但我想你可能也搞不清楚你為什麼要道歉
所以我來幫您解惑一下
今天我有40顆蘋果 要分給13個人
每人分到3顆 會剩下1顆沒辦法分 這1顆就叫做餘數
今天我有4.2顆蘋果 要分給3.0個人
每人分到1顆 會剩下1.2顆沒辦法分 餘數就是1.2
所以你一開始就在問
為什麼你4.2%3.0會得到1.2
為什麼得不到餘數
當你這樣問的時候
大家看到都會想 幹 你不就得到餘數了你是在問殺小
好 再往前推一步 你說4.2/3.0=1.4 這對你叫做整除?
所以是不是你整除的定義也跟大家不一樣??
整除的定義是 商為整數 餘數為0 才叫做整除好嗎
心算就知道這不會整除 OK??
你根本搞不清楚自己想要什麼
搞不清楚該怎麼問
還罵人家不懂裝懂
所以 你就道個歉吧
道個歉 以後還有問題要問 都好說 是吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.239.229
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1443150475.A.29B.html
1F:→ CCWck: 因為他搞錯 整除和除盡 09/25 12:57
2F:推 chigi: 我的觀察啦,對他來說1.5是9.3的因數,大概是這樣 09/25 14:20
3F:→ KanoLoa: 你人太好,是我根本放棄教化.. 09/25 15:03
4F:推 KSmart: 這應該是程式版,不是數學版…… 09/26 12:28
5F:推 zenuo: 態度很差 自以為上來問網友回答就要教到他懂 09/26 20:06
6F:推 Litfal: 我覺得問數學也沒什麼,但態度問題... 09/26 21:01
7F:推 tedmax100: 原PO不敢出來回了QQ 唉。。。 09/28 11:14
8F:→ mauve: @@…我也是新手 我原本也以為4.2%3.0=0…,原來是1.2,看來 10/05 18:39
9F:→ mauve: 我國小數學沒學好…QQ 10/05 18:39
10F:→ mauve: 阿…還是說,數學上4.2/3的餘數是0 10/05 19:14
11F:→ mauve: 但程式上4.2%3求餘數會是1.2 10/05 19:14
12F:→ mauve: 因為程式是以除數一直減掉被除數,直到最後的數字小於除數 10/05 19:14
13F:→ mauve: ,那最後的數字就是程式算出來的餘數,是嗎? 10/05 19:14
14F:→ mauve: 像是4.2%3,那程式就是將4.2-3得1.2,然後1.2<3所以餘數是1 10/05 19:14
15F:→ mauve: .2,是這樣嗎? 10/05 19:14
16F:→ Litfal: 4.2/3餘數是0到底怎麼想出來的啊,依這個邏輯,到底什麼 10/05 20:24
17F:→ Litfal: 時候才會有餘數? 10/05 20:24
18F:推 mauve: 推樓上,你的一句話讓我想通了@@ 10/06 06:39
19F:推 Peruheru: 樓上的推文讓我笑了 10/07 17:02
20F:→ Peruheru: to mauve: 會變成零的那個東西叫做"商",應該是搞混了 10/07 17:04
21F:→ Peruheru: 靠北寫錯了,是變成1 10/07 17:04
22F:→ mauve: 商的意思不是被除數除以除數嗎?不懂樓上大大的意思耶~ 10/08 19:54
23F:推 Peruheru: 就是那個意思沒錯阿,結果為商,剩下為餘 10/12 12:49
24F:推 kobe8112: 能被這板噓成這樣真的不簡單欸XDDD 11/14 17:13