1 条题解
-
0
【例72.4】乘法运算
解题思路
先输出两个乘数。按第二乘数n从个位起逐位取digit,输出mdigit的部分积,不附位移零;最后输出mn。按本站样例各行只列数值,不画横线和乘号。
正确性说明
依题目给出的对应关系逐项处理,位置与原输入保持明确对应。每一步完成当前项的全部贡献,结束后得到所有位置或字符的目标结果。
易错点
部分积从低位到高位,内部0位也应输出0;不额外补行首空格。
复杂度
n有D位,时间O(D),空间O(1)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int m, n; cin >> m >> n; cout << m << "\n" << n << "\n"; for (int t = n; t > 0; t /= 10) cout << m * (t % 10) << "\n"; cout << m * n << "\n"; return 0; }
- 1