Cow Multiplication
Time Limit: 1000MS |
Memory Limit: 65536K |
|
Total Submissions: 9717 |
Accepted: 6574 |
Description
Bessie is tired of multiplying pairs of numbers the usual way, so she invented her own style of multiplication. In her style, A*B is equal to the sum of all possible pairwise products between the digits of A and B. For example, the product 123*45 is equal to 1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54. Given two integers A and B (1 ≤ A, B ≤ 1,000,000,000), determine A*B in Bessie's style of multiplication.
Input
* Line 1: Two space-separated integers: A and B.
Output
* Line 1: A single line that is the A*B in Bessie's style of multiplication.
Sample Input
123 45
Sample Output
54
Source
解题报告:简单的数学题,把每位数用数组存储,再相乘即可!
代码如下:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAX = 25; int a[MAX], b[MAX]; int main() { int ans, n, m, i, j, p, q; scanf("%d%d", &n, &m); i = 0; while (n) { a[i] = n % 10; n = n / 10; i ++; } p = i; i = 0; while (m) { b[i] = m % 10; m = m / 10; i ++; } q = i; ans = 0; for (i = 0; i < p; ++i) { for (j = 0; j < q; ++j) { ans += a[i] * b[j]; } } printf("%d\n", ans); return 0; }