문제
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
123 45 |
예제 출력 1
54 |
더보기
Solution
#include<stdio.h>
#include<string.h>
int main(void)
{
char A[10001]={'\0', }, B[10001]={'\0', };
unsigned long long int mul=0;
int len_A, len_B;
scanf("%s", A);
scanf("%s", B);
len_A=strlen(A);
len_B=strlen(B);
for(int i=0;i<len_A;i++)
{
if(A[i]=='0')
continue;
for(int j=0;j<len_B;j++)
mul+=(A[i]-'0')*(B[j]-'0');
}
printf("%llu\n", mul);
return 0;
}
728x90
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 11816번: 8진수, 10진수, 16진수 (0) | 2020.10.26 |
---|---|
<백준 알고리즘> 2959번: 거북이 (0) | 2020.10.26 |
<백준 알고리즘> 5032번: 탄산 음료 (0) | 2020.10.25 |
<백준 알고리즘> 5717번: 상근이의 친구들 (0) | 2020.10.25 |
<백준 알고리즘> 1267번: 핸드폰 요금 (0) | 2020.10.25 |