길이가 30비트 이하인 두 이진수를 곱한 결과를 이진수로 출력한다.
쉬움2수학문자열구현시뮬레이션면접 대비아직 제출이 없습니다시간 제한2초메모리 제한256 MB감정이입을 알고 있는가? 감정이입이란 자신의 감정을 어떤 대상에 옮겨 넣거나 그 대상의 감정을 자신에게 옮겨 와서 서로 공감하는 것이다. 자신이 다른 대상이 되었다고 생각하면 전에는 느끼지 못했던 감정을 느끼게 되고, 그만큼 생각이 풍부해진다. 감정이입에 깊이 몰입하면 어떤 단계에 이르는데, 이 단계에서는 자신이 감정이입하는 대상이 되어 사고할 수 있다.
예로부터 많은 천재가 이 단계에 이르러 큰 업적을 남겼다. 알베르트 아인슈타인은 빛이 되어 상대성 이론을 발견했고, 찰리 채플린은 자신이 연기하는 인물 그 자체가 되어 많은 사람이 기억하는 희극배우가 되었다.
컴퓨터 공학에서도 이런 단계에 이를 수 있을까? CPU가 되어 주변 입출력 장치를 제어하거나, 뉴럴 네트워크를 이루는 수많은 뉴런 가운데 하나가 되어 계산에 참여하는 상상을 할 수 있을까?
천 리 길도 한 걸음부터다. 컴퓨터에 없어서는 안 될 ALU(Arithmetic Logic Unit)가 되는 상상을 해 보자. ALU는 두 이진수의 산술 연산이나 논리 연산을 계산하는 회로다. 두 이진수의 덧셈은 가산기로, 뺄셈은 보수기와 가산기로 계산한다. 그렇다면 두 이진수의 곱셈은 어떻게 계산할까? ALU가 되어 이 문제를 해결해 보자.
첫째 줄에 이진수 B1이 주어진다. 둘째 줄에 이진수 B2가 주어진다.
두 이진수의 길이는 각각 1 이상 30 이하이며, 두 이진수 모두 1로 시작한다.
첫째 줄에 B1과 B2의 곱을 이진수로 출력한다. 출력하는 이진수 앞에 불필요한 0을 붙이면 안 된다. 즉, 출력하는 이진수는 항상 1로 시작해야 한다.