如何通过单次运算获取除法的商和余数(Python/C++实现)
Python 单次运算获取商和余数
Python 内置了 divmod() 函数,能在单次调用中同时得到除法的商和余数,返回一个包含两个值的元组(商在前,余数在后)。
示例代码:
# 计算10除以3的商和余数 quotient, remainder = divmod(10, 3) print(f"商: {quotient}, 余数: {remainder}") # 输出:商: 3, 余数: 1
divmod(a, b) 的效果等价于 (a // b, a % b),但单次调用更简洁,处理大数值时还能避免重复计算的开销。
C++ 单次运算获取商和余数
C++ 标准库提供了 div() 函数(定义在 <cstdlib> 头文件中),可一次获取整数除法的商和余数。该函数返回一个 div_t 结构体,其中 quot 成员存储商,rem 成员存储余数。
针对不同整数类型,还有对应的专用函数:
ldiv()用于long类型lldiv()用于long long类型
示例代码:
#include <cstdlib> #include <iostream> int main() { // 计算10除以3的商和余数 div_t result = div(10, 3); std::cout << "商: " << result.quot << ", 余数: " << result.rem << std::endl; return 0; }
需要注意,对于有符号整数,div() 返回的余数符号与被除数一致,和Python的行为保持统一。
内容的提问来源于stack exchange,提问作者Sebastián
相关产品推荐
相关产品推荐

