У меня есть два неотрицательных числа, представленных как массивы цифр, которые могут иметь разную длину, и я хочу умножить их, не преобразовывая в строку, используя stoll, потому что это ограничивает размер ввода.
Я могу получить его работать для таких случаев, как 900 * 9, но не 11 * 11.
Это то, что я до сих пор:
#include <iostream>
int main() {
int a[100], b[100], product[200]; // required to use
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < m; i++) {
cin >> b[i];
}
int temp2 = 0;
for (int i = 0; i < n; i++) {
int temp1 = temp2*10; // i think it might be this line that doesn't always work but i don't know what I should change it to
for (int j = 0; j < m; j++) {
temp2 = a[i] * b[j] + temp1;
cout << temp2 << endl;
}
}
}