Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Number{
- vector<int> arr;
- public :
- Number(int i){
- arr.clear();
- while (i != 0){
- arr.push_back(i % 10);
- i /= 10;
- }
- };
- ~Number(){};
- int &operator[](int j){
- return arr[j];
- };
- void add(Number &num){
- int tmp = 0, i = 0;
- for (; i < min(getSize(), num.getSize()); ++i){
- arr[i] += tmp + num[i];
- tmp = arr[i] / 10;
- arr[i] %= 10;
- }
- for (; i < num.getSize(); ++i){
- arr.push_back(num[i] + tmp);
- tmp = arr[i] / 10;
- arr[i] %= 10;
- }
- while (tmp > 0 && i < getSize()){
- arr[i] += tmp;
- tmp = arr[i] / 10;
- arr[i] %= 10;
- }
- if (tmp > 0)
- arr.push_back(tmp);
- };
- int getSize(){
- return arr.size();
- };
- void print(){
- for (int i = getSize() - 1; i > -1 ; --i)
- cout << arr[i];
- cout << "\n";
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement