c++计算两个整数的逆序乘积
时间: 2025-01-23 20:16:45 浏览: 22
在 C++ 中,计算两个整数的逆序乘积意味着将这两个数的位数从右向左排列,然后相乘。这通常涉及到字符串操作,因为我们需要首先将整数转换成字符串,再分别读取每一位来进行乘法。下面是一个简单的示例:
```cpp
#include
int reverseMultiply(int a, int b) { string strA = to_string(a); string strB = to_string(b);
// 反转字符串
string revStrA = strA;
reverse(revStrA.begin(), revStrA.end());
string revStrB = strB;
reverse(revStrB.begin(), revStrB.end());
// 将反转后的字符串转换回整数并相乘
long long result = 0;
for (size_t i = 0; i < min(revStrA.length(), revStrB.length()); ++i) {
int digitA = revStrA[i] - '0';
int digitB = revStrB[i] - '0';
result += digitA * pow(10, i) * digitB;
}
// 如果一个数字长于另一个,则将较长数字剩下的部分加到结果中
if (revStrA.length() > revStrB.length()) {
for (size_t i = revStrB.length(); i < revStrA.length(); ++i) {
int digitA = revStrA[i] - '0';
result *= 10;
result += digitA;
}
} else if (revStrB.length() > revStrA.length()) {
for (size_t i = revStrA.length(); i < revStrB.length(); ++i) {
int digitB = revStrB[i] - '0';
result *= 10;
result += digitB;
}
}
return result;
}
相关推荐

















