Тук ще представя много интересна реализация на метод за пресмятане на 2 трицифрени числа. Използвайки 5 стъпковата схема, за умножение представена на фигурата, можете да пресметнете само на един ред произведението, като на всяка от петте стъпки трицифрените числа са представени на 2 реда. В конкретния пример са използвани: 123 х 201.

Реализация в C++

#include
using namespace std;

// Функция за умножение на две трицифрени цели числа
long SuperMultiplier(int A, int B)
{
// A
int a1 = (A/100)%10;
int a2 = (A/10)%10;
int a3 = A%10;
// B
int b1 = (B/100)%10;
int b2 = (B/10)%10;
int b3 = B%10;

// C
long C = a3*b3 + (a3*b2 + a2*b3)*10 + (a1*b3 + a2*b2 + a3*b1)*100 + (a1*b2 + a2*b1)*1000 + (a1*b1)*10000;

return C;
}

// Главна функция
int main()
{
int A,B;
cout << „A B\n“;
cin >> A >> B;
cout << SuperMultiplier(A,B) << endl;
return 0;
}

Автор: Димитър Минчев

Доктор по информатика и компютърни науки