고밀도 계산 (대수 곱셈 법)
644 단어 ACM
높 은 정밀도 의 곱셈 연산 을 하려 면 먼저 쌓 인 자릿수 를 확정 하고 두 개의 수 를 'a, b' 로 설정 해 야 한다.LA 는 a 의 자릿수, LB 는 b 의 자릿수, 두 개의 곱 하기 최소 자릿수 는 LA + LB - 1 이다.만약 에 곱 한 후에 이 최소 위치 에 진 이 있 으 면 곱 하기 위 치 는 LA + LB 로 변 한다.
높 은 정밀도 의 곱셈 을 할 때 피 승수 와 곱셈 의 모든 숫자의 곱셈 을 계산 해 야 한다. 그 중에서 a [i] * b [j] 의 축적 을 배열 C [i + j] 에 추가 한 다음 에 누적 결과 c 에 대해 일회 성 진 위 를 해 야 한다.
프로그램 은 다음 과 같 습 니 다:
for(int i = 0; i <= LA - 1;i++)// c
for(int j = 0; j <= LB - 1;j++)
c[i + j] += a[i]*b[j];
for(int i = 0; i < LA + LB;i++)//
{
if(c[i] >= 10)
{
c[i + 1]+= c[i]/10;
c[i] %= 10;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ACM - 계산 기하학 적 Pick - up sticks -- poj 2653Description Stan has n sticks of various length. The data for each case start with 1 <= n <= 100000, the number of stick...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.