void setup() {
Serial.begin(9600);
}
void loop() {
// Define two large numbers as character arrays
char num1[] = "123456789";
char num2[] = "987654321";
// Determine the length of each number
int len1 = strlen(num1);
int len2 = strlen(num2);
// Create a result array with space for the maximum number of digits
int resultSize = len1 + len2;
int result[resultSize];
memset(result, 0, sizeof(result)); // initialize result array with zeros
// Multiply each digit of num1 by each digit of num2
for (int i = 0; i < len1; i++) {
for (int j = 0; j < len2; j++) {
int digit1 = num1[i] - '0'; // convert char to int
int digit2 = num2[j] - '0'; // convert char to int
result[i+j] += digit1 * digit2; // multiply digits and add to result array
}
}
// Carry over any excess digits
for (int i = 0; i < resultSize-1; i++) {
result[i+1] += result[i] / 10;
result[i] %= 10;
}
// Print the result to the Serial Monitor
Serial.print("Result: ");
for (int i = resultSize-1; i >= 0; i--) {
Serial.print(result[i]);
}
Serial.println();
delay(1000);
}