Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************************************
- Online C++ Compiler.
- Code, Compile, Run and Debug C++ program online.
- Write your code in this editor and press "Run" button to compile and execute it.
- *******************************************************************************/
- #include <iostream>
- #include <vector>
- #include <string.h>
- using namespace std;
- struct Number {
- vector <int> Num;
- void Initial (string InputNumber) {
- for (int i = InputNumber.length() - 1; i >= 0; i--) {
- Num.push_back(InputNumber[i] - '0');
- }
- }
- /*static void Sum (Number Num1, Number Num2) {
- Number Result;
- Result.Num.resize(max(Num1.Num.size(), Num2.Num.size()) + 1);
- }*/
- };
- int main()
- {
- string InputNumber1, InputNumber2;
- int MinLength, MaxLength;
- cin >> InputNumber1;
- cin >> InputNumber2;
- Number Num1;
- Num1.Initial(InputNumber1);
- Number Num2;
- Num2.Initial(InputNumber2);
- Number Num3;
- Num3.Num.resize(max(Num1.Num.size(), Num2.Num.size()) + 1);
- if(Num1.Num.size() >= Num2.Num.size()) {
- MinLength = Num2.Num.size();
- MaxLength = Num1.Num.size();
- for(int i = 0; i < MinLength; i++) {
- Num3.Num.push_back(Num1.Num[i] + Num2.Num[i]);
- }
- for(int i = MinLength; i < MaxLength; i++) {
- Num3.Num.push_back(Num1.Num[i]);
- }
- }
- else {
- MinLength = Num1.Num.size();
- MaxLength = Num2.Num.size();
- for(int i = 0; i < MinLength; i++) {
- Num3.Num.push_back(Num1.Num[i] + Num2.Num[i]);
- }
- for(int i = MinLength; i < MaxLength; i++) {
- Num3.Num.push_back(Num2.Num[i]);
- }
- }
- for(int i = 0; i < MaxLength; i++) {
- if (Num3.Num[i] / 2 != 0) {
- Num3.Num[i + 1] = 1 % Num3.Num[i];
- }
- }
- int i = Num3.Num.size() - 1;
- while(Num3.Num[i] == 0) {
- Num3.Num.pop_back();
- i--;
- }
- for(int i = Num3.Num.size() - 1; i >= 0; i--) {
- cout << Num3.Num[i];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement