() 除 () 的餘數 `() 除 () 的餘數` 類別 運算類積木 形狀 橢圓形積木

The () Mod () 積木 ("mod" is short for "modulo") is an 運算類積木 and a 橢圓形積木. The block reports the remainder of the division when the first value is divided by the second. For example, when 10 is put in the first input and 3 in the second, the block will report 1; 10 divided by 3 gives a remainder of 1.

Negative numbers behave a little differently, because a remainder must always be positive. -10 mod 3 equals 2, not -1, because you have to multiply 3 by -4 to have any remainder at all.

## 用法示例

If a 專案 is doing divisibility tests, the () Mod () block can be of use.

Some common uses for the () Mod () block:

• Checking if two numbers divide without a remainder
```如果 <((a) 除 (b) 的餘數) = [0]> 那麼
說出 [a is divisible by b]

說出 [a is not divisible by b]
end
```
• Checking if a number is a whole number
```如果 <((a) 除 (1) 的餘數) = [0]> 那麼
說出 [a is a whole number]

說出 [a is not a whole number]
end
```
• Checking if numbers are odd or even
```如果 <((a) 除 (2) 的餘數) = [0]> 那麼
說出 [a is an even number]

如果 <((a) 除 (1) 的餘數) = [0]> 那麼
說出 [a is an odd number]
否則
說出 [a is not an integer]
end
end
```
• Repeatedly iterating through a 清單:
```當 @greenflag 被點擊

變數 [x v] 改變 (1)
說出 (清單第 (x 座標) 項項目\( [list v] \) :: list)
變數 [x v] 設為 ((x 座標) 除 (清單 [list v] 的項目數 :: list) 的餘數)
end
```
• Reusing background-sprites when scrolling
```當 @greenflag 被點擊

x 設為 (((x座標) + (240)) 除 (480) 的餘數)
end
```

## 應用

Main article: List of Block Workarounds

If only positive numbers are wanted, the block can be replicated with the following code (the 變量 remainder is the reported value):

```如果 <(四捨五入數值 ((a) / (b))) > ((a) / (b))> 那麼
變數 [remainder v] 設為 ((a) - ((四捨五入數值 (((a) / (b)) - (0.5))) * (b)))

變數 [remainder v] 設為 ((a) - ((四捨五入數值 ((a) / (b))) * (b)))
end
```

Negative values are rarely used in the () Mod () block, although it is possible. The output given when a negative value is in the first insert and a positive value is in the second is the positive value, so if the negative value is wanted, you must subtract the number in the second insert from the remainder, as so:

```如果 <(a) < (0)> 那麼
如果 <(b) > (0)> 那麼
變數 [remainder v] 設為 (((a) 除 (b) 的餘數) - (b))

變數 [remainder v] 設為 ((a) 除 (b) 的餘數)
end

變數 [remainder v] 設為 ((a) 除 (b) 的餘數)
end
```

## 參見

Cookies help us deliver our services. By using our services, you agree to our use of cookies.