判斷一個數是整數?你會嗎
分牛問題另一思路
從前有個農夫,死後留下了一些牛,他在遺書中寫道:妻子得全部牛的半數加半頭;長子得剩下牛的半數加半頭;次子得還剩下牛的半數加半頭;長女分得最後剩下牛的半數加半頭。結果一頭牛也沒殺,也沒剩下,問農夫總共留下______頭牛?
01
前幾期,我們介紹了分牛的兩種解法,今天小花貓又想到了另外一種解法:能否利用題目中「結果一頭牛也沒殺」為突破口,即利用每個人分的牛的數量是整數,參照解法一(如未閱讀,可以通過公眾號,查看歷史消息),將條件判斷修改為如果a、b、c、d都是整數,其他語句不變,能否求解問題呢?
02
但是找遍了「數字與邏輯運算」模塊中提供了運算,都沒有直接判斷一個數是整數。
當一個方法不能解決問題的時候,我們應該尋求等價的方法,另闢蹊徑,問題就能迎刃而解。
聰明的小花貓找到了兩個與整數有關的運算,你們發現了嗎?對了它們就是:向上取整和向下取整。如1.5向上取整是2,向下取整是1。如果一個數是整數,它向上取整和向下取整等於本身。所以可以結合這兩個運算,判斷一個數是否是整數。
03
每個人分的牛的數量是整數,因此這四個數都得滿足是整數的條件。我們該如何表示這種同時滿足條件的關係呢?這個時候我們就要用到邏輯運算「且」,它表示只有兩個或兩個以上的條件都滿足了,結果才為真。
那麼你能用「且」運算表示出a、b、c、d四個數都是整數嗎?表達有點複雜哦,同學們可要仔細再仔細。
04
那麼最終的表達式長怎麼樣呢?可得睜大眼睛看哦。
看到這,相信你們也發現了一個問題,那就是判斷a、b、c、d四個數是整的數邏輯運算「且」的表達冗長,很容易出錯,也不容易閱讀。所以這種方法並不是最佳方法。
當然這個方法還不夠嚴謹,你們發現了嗎?感興趣的同學,可以留言,我們將一一為你解答。


TAG:小學信息 |