1. 整除法 //
整除法 //
用于计算两个数的商,并向下取整到最接近的整数。这意味着结果总是小于或等于实际的商。
运算规则
- 正数除法:结果是商的整数部分。
- 负数除法:结果是商的整数部分,但总是向下取整,即向更小的整数取整。
示例
# 正数除法
10 // 3 # 结果是 3,因为 10 / 3 = 3.3333,向下取整到 3
10 // 2 # 结果是 5,因为 10 / 2 = 5.0,向下取整到 5
# 负数除法
-10 // 3 # 结果是 -4,因为 -10 / 3 = -3.3333,向下取整到 -4
10 // -3 # 结果是 -4,因为 10 / -3 = -3.3333,向下取整到 -4
-10 // -3 # 结果是 3,因为 -10 / -3 = 3.3333,向下取整到 3
2. 向下取整 math.floor()
math.floor()
函数返回小于或等于给定数值的最大整数。这意味着结果总是小于或等于实际的数值。
运算规则
- 正数:结果是小于或等于该数值的最大整数。
- 负数:结果是小于或等于该数值的最大整数。
示例
import math
# 正数向下取整
math.floor(3.3333) # 结果是 3
math.floor(5.0) # 结果是 5
# 负数向下取整
math.floor(-3.3333) # 结果是 -4
math.floor(-5.0) # 结果是 -5
3. 向上取整 math.ceil()
math.ceil()
函数返回大于或等于给定数值的最小整数。这意味着结果总是大于或等于实际的数值。
运算规则
- 正数:结果是大于或等于该数值的最小整数。
- 负数:结果是大于或等于该数值的最小整数。
示例
import math
# 正数向上取整
math.ceil(3.3333) # 结果是 4
math.ceil(5.0) # 结果是 5
# 负数向上取整
math.ceil(-3.3333) # 结果是 -3
math.ceil(-5.0) # 结果是 -5
4. 总结
-
整除法
//
:- 用于计算两个数的商,并向下取整到最接近的整数。
- 无论商是正数还是负数,结果总是小于或等于实际的商。
-
向下取整
math.floor()
:- 返回小于或等于给定数值的最大整数。
- 无论数值是正数还是负数,结果总是小于或等于实际的数值。
-
向上取整
math.ceil()
:- 返回大于或等于给定数值的最小整数。
- 无论数值是正数还是负数,结果总是大于或等于实际的数值。
5. 实际应用
import os
import sys
from math import *
T=int(input())
for i in range(T):
a,b=map(int,input().split())
if a>0 and b>0:
print(a%b)
if a<0 and b>0:
x=a//b
print(a-b*x)
if a>0 and b<0:
print(a%abs(b))
if a<0 and b<0:
x=ceil(a/b)
print(a-b*x)