#include<iostream>#include<vector>usingnamespace std;
vector<int>add(vector<int>&A, vector<int>&B){if(A.size()< B.size())returnadd(B, A);
vector<int> C;int t =0;for(int i =0; i < A.size(); i ++){
t += A[i];if(i < B.size()) t += B[i];
C.push_back(t %10);
t /=10;}if(t) C.push_back(t);return C;}intmain(){
string a, b;
vector<int> A, B;
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');auto C =add(A, B);for(int i = C.size()-1; i >=0; i --) cout << C[i];return0;}
#include<iostream>#include<vector>usingnamespace std;boolcmp(vector<int>&A, vector<int>&B){if(A.size()!= B.size())return A.size()> B.size();for(int i = A.size()-1; i >=0; i --){if(A[i]!= B[i])return A[i]> B[i];}returntrue;}
vector<int>sub(vector<int>&A, vector<int>&B){
vector<int> C;for(int i =0, t =0; i < A.size(); i ++){
t = A[i]- t;if(i < B.size()) t -= B[i];
C.push_back((t +10)%10);if(t <0) t =1;else t =0;}while(C.size()>1&& C.back()==0) C.pop_back();return C;}intmain(){
string a, b;
vector<int> A, B;
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');
vector<int> C;if(cmp(A, B)) C =sub(A, B);else C =sub(B, A), cout <<"-";for(int i = C.size()-1; i >=0; i --) cout << C[i];return0;}
给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。
输入格式
共两行,第一行包含整数 A,第二行包含整数 B。
输出格式
共一行,包含 A × B 的值。
数据范围
1 ≤ A 的长度 ≤ 100000,
0 ≤ B ≤ 10000
输入样例:
2
3
输出样例:
6
#include<iostream>#include<vector>usingnamespace std;
vector<int>mul(vector<int>&A,int b){
vector<int> C;int t =0;for(int i =0; i < A.size()|| t; i ++){if(i < A.size()) t += A[i]* b;
C.push_back(t %10);
t /=10;}while(C.size()>1&& C.back()==0) C.pop_back();return C;}intmain(){
string a;int b;
cin >> a >> b;
vector<int> A;for(int i = a.size()-1; i >=0; i --) A.push_back(a[i]-'0');auto C =mul(A, b);for(int i = C.size()-1; i >=0; i --) cout << C[i];return0;}
#include<iostream>#include<vector>#include<algorithm>usingnamespace std;
vector<int>div(vector<int>&A,int b,int&r){
vector<int> C;
r =0;for(int i = A.size()-1; i >=0; i --){
r = r *10+ A[i];
C.push_back(r / b);
r %= b;}reverse(C.begin(), C.end());while(C.size()>1&& C.back()==0) C.pop_back();return C;}intmain(){
string a;int b;
cin >> a >> b;
vector<int> A;for(int i = a.size()-1; i >=0; i --) A.push_back(a[i]-'0');int r;auto C =div(A, b, r);for(int i = C.size()-1; i >=0; i --) cout << C[i];
cout << endl << r << endl;return0;}