2009-12-03 3 views
5

현재 Project Euler에서 문제를 해결하기 위해 VBA에 코드를 작성하려고합니다. 나는 오랫동안 맞지 않는 숫자로 나눌 수있는 소수를 찾아야하는 질문에 답하려고 노력해 왔습니다. 이 문제를 해결하는 방법에 대한 제안?VBA에서 Long보다 큰 숫자 처리

저는 두 변수 사이의 수를 나눌 수 있다는 것을 알고 있습니다. 덧셈과 뺄셈에 대해서는 그랬지만 결코 나눗셈을하지는 않았습니다. 어떤 도움을 주시면 감사하겠습니다.

+4

소수 ...? – Henrik

+0

나는 그가 무엇을 의미하는지 알 것 같아 @ Agent389 소수는 1과 그 자체로 어떤 숫자로 나눌 수 없다. 실제로 숫자의 제곱근까지 반복하여 테스트 할 수 있습니다. 당신은 아마도 더 빠를 수 있습니다. 나는 그 수의 절반으로 갈 필요가 없다는 것을 알고 있습니다. (나누기, 제곱근이 조금 더 빠릅니다). – JonH

+0

미안하지만, 더 명확하게하기 위해 질문을 업데이트했습니다. – Agent389

답변

1

기본적으로 텍스트로 숫자를 저장하고 공제, 추가로 기본 수학 연산에 대한 함수를 만들 거 야, 더 많은 정보와 구현을 위해 등

, 여기 좀 봐 : Large Number Arithmetic

+5

당신은 링크보다 emore를 제공해야합니다. – BrainO2

0

char *를 취하고 각 요소를 int 유형의 연결된 목록 데이터 항목에 저장하는 bigint 클래스를 작성할 수 있습니다. 그런 식으로 정수가 얼마나 큰지는 중요하지 않습니다. 그것은 쉽지 않다. 나는 완전한 수업을 이야기하고있다.

-2

사용 더 큰 값을 사용하는 "Double"데이터 유형입니다.

+0

"Double"을 사용하면 설정된 숫자의 유효 숫자로 제한되므로 나쁜 아이디어입니다. 따라서 큰 숫자로 정확도를 잃을 수 있습니다. – M1chael

0

변형 내에서만 Decimal 데이터 형식 (12 바이트) 인 을 정의 할 수 있습니다. 숫자로 나눌

Dim i As Variant

i = CDec(i)