按 C/C++ 向零整数除法计算商,再由 a-q*b 得到余数。
OJ: noi_openjudge
题目 ID: ch0103-04
难度:入门
标签:数学类型转换python
日期: 2026-07-30 23:01
题意
输入被除数和非零除数,输出 C/C++ 默认整数除法的商和余数。
思路
先按向零规则求商 % 对负数的符号规则和 C++ 不同。
代码
Python代码
python
def trunc_dividend(dividend, divisor):
quotient = abs(dividend) // abs(divisor)
return quotient if dividend * divisor >= 0 else -quotient
dividend, divisor = map(int, input().split())
quotient = trunc_dividend(dividend, divisor)
print(quotient, dividend - quotient * divisor)C++代码
cpp
#include <cstdio>
int main(){
int a,b,c;
scanf("%d%d",&a,&b);
printf("%d %d",a/b,a%b);
return 0;
}复杂度
时间复杂度和额外空间复杂度均为
总结
跨语言处理除法时,先定义商的舍入方向,再由等式恢复余数最稳妥。