用string
類存大整數,之後用陣列來存大整數的每一位
vector stl容器 —— 向量
vector, 變長陣列,倍增的思想
size() 返回元素個數
empty() 返回是否為空
clear() 清空
front()/back()
push_back()/pop_back()
begin()/end()
支援下標運算子
支援比較運算,按字典序
string,字串
size()/length() 返回字串長度
empty()
clear()
substr(起始下標,(子串長度)) 返回子串
c_str() 返回字串所在字元陣列的起始位址
實現的**
string a,b;
vectora;
vectorb;
cin >> a >> b;
for(int i = a.size() - 1; i >= 0 ; i--) a.push_back(a[i] - '0' );
for(int i = b.size() - 1; i >= 0 ; i--) b.push_back(b[i] - '0' );
對於每一次加法
1.相加進製
2.相加不進製
模擬手算這個過程
vectoradd(vector&a,vector&b)
if(t) c.push_back(1);
return c;
}
#include using namespace std;
const int maxn = 1e5 + 10;
vectoradd(vector&a,vector&b)
if(t) c.push_back(1);
return c;
}int main()
cout << endl;
return 0;
}
c語言版本從陣列的角度分析
bool cmp(vector&a, vector&b)
else if(a.size() < b.size())
// if( a.size() != b.size() ) return a.size() > b.size();
for(int i = a.size() ; i >= 0; i--)
return true;
}
if( cmp(a,b) )
}else
}
vectorsub(vector&a , vector&b)
while( c.back() == 0 && c.size() > 1 ) c.pop_back();
return c;
}
完整**#include using namespace std;
bool cmp(vector&a, vector&b)
else if(a.size() < b.size())
// if( a.size() != b.size() ) return a.size() > b.size();
for(int i = a.size() ; i >= 0; i--)
return true;
}vectorsub(vector&a , vector&b)
while( c.back() == 0 && c.size() > 1 ) c.pop_back();
return c;
}int main()
}else
}cout << endl;
return 0;
}
模擬手算完整****#include using namespace std;
vectormul(vectora, int b )
while(c.size() > 1 && c.back() == 0) c.pop_back();
return c;
}int main()
**
#include using namespace std;
vectordiv(vector&a,int b ,int &r)
reverse(c.begin() , c.end() );
while (c.size() > 1 && c.back() == 0) c.pop_back();
return c;
}int main()
大整數(指標專題)
輸入3個大整數,位數不超過100位,按從小到大的順序輸出這三個整數。要求定義並使用如下函式比較兩個大整數的大小。int cmp char a,char b 輸入有3行,每行輸入乙個大整數,位數不超過100位,輸入不含前導0。輸出3行,即排序後的3個大整數。1234567890123456789 99...
1169 大整數(指標專題)
輸入3個大整數,位數不超過100位,按從小到大的順序輸出這三個整數。要求定義並使用如下函式比較兩個大整數的大小。int cmp char a,char b 輸入有3行,每行輸入乙個大整數,位數不超過100位,輸入不含前導0。輸出3行,即排序後的3個大整數。1234567890123456789999...
1169 大整數(指標專題)
題目描述 輸入3個大整數,位數不超過100位,按從小到大的順序輸出這三個整數。要求定義並使用如下函式比較兩個大整數的大小。int cmp char a,char b 輸入 輸入有3行,每行輸入乙個大整數,位數不超過100位,輸入不含前導0。輸出 輸出3行,即排序後的3個大整數。樣例輸入 copy 1...