2010-05-05 5 views
0

두 개의 배열을 곱하기 위해 재귀 (Divide-And-Conquer)를 사용하는 알고리즘을 작성하고 작성해야합니다.이 배열에는 long (int 64) 또는 double capacity보다 큰 큰 숫자가 들어 있습니다. 이 알고리즘을 C#으로 작성 하시겠습니까?재귀 및 배열을 사용하여 큰 숫자 곱하기

+7

물론입니다. 니가 먼저가. 지금까지 무엇을 얻었습니까? –

+0

숙제 같은 소리 ... – Strawberry

+0

나는 배열을 사용하지 않고 그것을하는 몇 가지 방법이 있습니다. –

답변

0

다음은 시작입니다. 각 숫자를 2 개로 나누고 반복적으로 곱한 다음 올바른 오프셋을 추가하십시오.

+0

나는 이것을 알고 있지만 어떻게 배열로 구현 하는가?! 내 큰 숫자를 두 개의 배열로 저장합니다. –

+0

@Keith, 정상적인 배열 곱셈 절차를 사용 하시겠습니까? 그러나 실제 곱셈을 사용할 때는 나누기와 정복을 사용 하시겠습니까? – Archie

+0

배열을 절반으로 나눕니다. (A + B * 2^k) * (C + D * 2^k) = A * C + (A * D + B * C) * 2^k + B * D 2^(2k)이다. 첫 번째 피승수를 반으로 나누면 A와 B가되고 두 ​​번째 피승수는 C와 D가됩니다. –