Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <array>
- #include <sstream>
- #include <string>
- #include <fstream>
- #include <vector>
- int bignumb(std::string numb);
- std::vector <int> answer;
- std::vector <int>::iterator answer_it;
- int numb_array[50];
- int main(){
- std::ifstream numblist;
- numblist.open("numberlist.txt");
- if (!numblist){
- std::cout << "File not found" << std::endl;
- return 0;
- }
- else{
- int i = 1;
- for(std::string line; numblist >> line; i++){
- bignumb(line);
- }
- }
- std::cout << "ANSWER : ";
- for (int i = 0; i < 10; i++){
- std::cout << answer[i];
- }
- }
- int bignumb(std::string numb){
- bool carry_over = false;
- int answer_count = answer.size()-1;
- int k = 0;
- for(std::string::iterator i = numb.begin(); i != numb.end(); i++){
- char a = *i;
- int b = (int)a - '0';
- numb_array[k] = b;
- k++;
- }
- if (answer.empty() == true){
- for (int i = 0; i != 50; i++){
- int a = numb_array[i];
- answer.push_back(a);
- }
- }
- else{
- int ans_index = answer.size() - 50;
- for (int i = 49; i != -1; i--){
- int a = numb_array[i];
- int b = answer[ans_index + i];
- if (carry_over == true){
- if (a + b + 1 == 10) {answer[answer_count] = a + b - 9; carry_over = true; }
- else if (a + b + 1 < 10 ) {answer[answer_count] = a + b + 1; carry_over = false;}
- }
- else if (carry_over == false){
- if (a + b >= 10) {answer[answer_count] = a + b - 10; carry_over = true; }
- else {answer[answer_count] = a + b; carry_over = false;}
- }
- answer_count--;
- }
- }
- if (carry_over == true && answer.size() - 50 != -1){
- if (answer.size() == 50) {answer.insert(answer.begin(), 1);}
- else{
- for(int i = answer.size() - 50; carry_over == true && i != -1; i--){
- if (i == 0 && carry_over == true) {answer.insert(answer.begin(), 1);}
- else if (answer[i-1] + 1 == 10) {answer[i-1] = 0; carry_over = true; }
- else if (answer[i-1] + 1 < 10) {answer[i-1] = answer[i-1] + 1; carry_over = false;}
- }
- }
- }
- }
- //5537376230
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement