Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int N = 250;
- int main()
- {
- string a, b;
- cin >> a >> b;
- int f[N];
- int s[N];
- for (int i = 0; i < N; ++i) {
- f[i] = 0; s[i] = 0;
- }
- int cur[N];
- int res[500];
- for (int i = 0; i < 500; ++i) {
- res[i] = 0;
- }
- for (int i = a.size() - 1; i >= 0; --i) {
- f[N - (int)a.size() + i] = (int) (a[i] - '0');
- }
- for (int i = b.size() - 1; i >= 0; --i) {
- s[N - (int)b.size() + i] = (int) (b[i] - '0');
- }
- for (int i = N - 1; i >= 0; --i) {
- for (int j = 0; j < N; ++j) {
- cur[j] = 0;
- }
- int pr = s[i]; int dot = 0;
- if (pr == 0) {
- continue;
- }
- for (int j = N - 1; j >= 0; --j) {
- cur[j] = (f[j] * pr + dot) % 10;
- dot = (f[j] * pr + dot) / 10;
- }
- dot = 0;
- for (int j = N - 1; j >= 0; --j) {
- res[j + i + 1] = (res[j + i + 1] + cur[j] + dot) % 10;
- dot = (res[j + i + 1] + cur[j] + dot) / 10;
- }
- }
- int sum = 0;
- for (int i = 0; i < 500; ++i) {
- sum += res[i];
- }
- if (sum == 0) {
- cout << 0 << "\n";
- return 0;
- }
- bool flag = true;
- for (int i = 0; i < 500; ++i) {
- if (res[i] == 0 && flag) {
- continue;
- }
- else if (res[i] != 0 && flag) {
- cout << res[i];
- flag = false;
- }
- else {
- cout << res[i];
- }
- }
- cout << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement