Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <string>
- #include <vector>
- #include <cstdio>
- std::vector<int> str_to_num(std::string S) { // Т.к храним числа как набор из интов в векторе, то ситываем числа как строки и потом их переводим в наш способ хранения
- using namespace std;
- vector<int> numbers(2000);
- int i, t = 1999, counter = 0;
- string temp;
- for (i = S.length() - 1; i >= 0; i--) {
- temp.insert(0, 1, S[i]);
- counter++;
- if (counter == 5 || i == 0) { // храню по 5 цифр, поэтому чекаю ==5
- numbers[t] = stoi(temp);
- counter = 0;
- temp = "";
- t--;
- }
- }
- return numbers;
- }
- int main() {
- using namespace std;
- ifstream cin("input.txt");
- FILE *fout = fopen("output.txt", "w"); // делаем вывод в Си стиле, чтобы выводить числа типа 0004 с незначащими нулями впереди
- int i, sum, flag = 0, remain = 0;
- vector<int> a, b, result(2000);
- string firstStr, secondStr, temp;
- cin >> firstStr >> secondStr;
- a = str_to_num(firstStr);
- b = str_to_num(secondStr);
- for (i = 1999; i >= 0; i--) {
- sum = a[i] + b[i] + remain;
- remain = sum / 100000;
- result[i] = sum % 100000;
- }
- for (i = 0; i < 2000; i++)
- if ((result[i] != 0) || (result[i] == 0 && flag == 1)) {
- if (flag == 0) {
- flag = 1;
- fprintf(fout, "%d", result[i]);
- }
- else
- fprintf(fout, "%05d", result[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement