본문 바로가기

백준 온라인 저지 (BOJ) 문제풀이

백준 온라인 저지 (BOJ) 1225 이상한 곱셈

문제

A*B를 계산하다 지겨워진 형택이는 A*B를 새로운 방법으로 정의하려고 한다.

A에서 한 자리를 뽑고 * B에서 임의로 한 자리를 뽑아 곱한다.

의 가능한 모든 조합 (A가 n자리, B가 m자리 수라면 총 가능한 조합은 n*m개)을 더한 수로 정의하려고 한다.

예를 들어 121*34는

1*3 + 1*4 + 2*3 + 2*4 + 1*3 + 1*4 = 28

이 된다. 이러한 형택이의 곱셈 결과를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는다.

출력

첫째 줄에 형택이의 곱셈 결과를 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include<string.h>
#pragma warning(disable:4996)
char a[10001];
char b[10001];
int main() {
    long long len_a, len_b, sum_a = 0, sum_b = 0;
    scanf("%s%s", a, b);
    len_a = strlen(a);
    len_b = strlen(b);
    for (int i = 0; i < len_a; i++) {
        sum_a += a[i] - '0';
    }
    for (int i = 0; i < len_b; i++) {
        sum_b += b[i] - '0';
    }
    printf("%lld\n", sum_a * sum_b);
    return 0;
}
cs

 

간단한 구현 문제였다.