145 条题解
-
-1
何不试一试这种C++代码呢?
#include <iostream> #include <string> // 定义 A+B 的函数 std::string add(std::string num1, std::string num2) { // 将两个数字字符串转换为数字数组 int len1 = num1.length(); int len2 = num2.length(); int maxLen = std::max(len1, len2); int* arr1 = new int[maxLen]; int* arr2 = new int[maxLen]; for (int i = 0; i < maxLen; i++) { if (i < len1) { arr1[i] = num1[len1 - i - 1] - '0'; } else { arr1[i] = 0; } if (i < len2) { arr2[i] = num2[len2 - i - 1] - '0'; } else { arr2[i] = 0; } } // 进行加法运算 int carry = 0; std::string result = ""; for (int i = 0; i < maxLen; i++) { int sum = arr1[i] + arr2[i] + carry; carry = sum / 10; result = std::to_string(sum % 10) + result; } if (carry > 0) { result = std::to_string(carry) + result; } delete[] arr1; delete[] arr2; return result; } int main() { // 读取输入的两个数字 std::string num1, num2; std::cout << "请输入两个数字:" << std::endl; std::cin >> num1 >> num2; // 计算并输出结果 std::string sum = add(num1, num2); std::cout << "结果为:" << sum << std::endl; return 0; }
但愿这种代码不会出现TLE或者是MLE这个代码使用了字符串来表示大数,通过将字符串转换为数字数组,然后进行逐位相加的方式来实现 A+B 的功能。由于使用了字符串和动态数组,代码量较大。但是在实际应用中,这种方式并不是最高效的解决方案。在实际情况下,我们可以使用更简洁和高效的算法来解决这个问题。
我们可以用更简洁的方法做这道题
#include <bits/stdc++.h> using namespace std; int main(){ int a, b; cin >> a >> b; cout << a + b; return 0;
上面的代码是进行变量a和b直接相加的代码吗,这种也许就是标准代码。
好了,这道题的题解到此为止,走过路过,不要错过,点点赞吧~~~么么哒😗🥰
信息
- ID
- 56
- 时间
- 1000ms
- 内存
- 1024MiB
- 难度
- 1
- 标签
- 递交数
- 9073
- 已通过
- 4043
- 上传者