큰 수에 대한 연산과 프린트 방식이 궁금합니다. 2^48이상..
글쓴이: pleasantman / 작성시간: 목, 2004/11/25 - 3:08오후
fout = { 19660800, 30720000, 56000000 };
( fout * pow(2, 48 )) / (10000000 * i) = FTW(정수);
i는 4~20인 정수, (2*fout)은 (10000000 * i )보다 크거나 같은 수이여야 합니다.
이런 문제에서 i와 FTW를 계산해야 합니다.
숫자가 단위가 너무 크니 계산이 어렵군요.. 어떻게 해야 할까요?
fout = 19660800 ; for( i = 4 ; i < 21 ; i++ ) { if( ( fout * pow(2, 48))%(10000000 * i) == 0 ) { FTW = (( fout * pow(2, 48)))/(10000000 * i); printf("\n FTW = %d, i = %d \n", FTW, i ); } }
대충 이런 식이긴 한데 숫자가 너무 켜서 맞지 않는 군요..
어케 처리 해야 하는지... ( 자료형 모두 무시하고 적어본 겁니다.)
Forums:
그냥은 안 되고 특별한 라이브러리를 쓰면 됩니다. 대표적으로 [url=h
그냥은 안 되고 특별한 라이브러리를 쓰면 됩니다. 대표적으로 GNU MP library가 있고
이외에도 arbitrary precision arithmetic으로 검색하면 많은 정보가 나옵니다.
아니면 그런것을 지원하는 프로그래밍 언어를 사용하면 됩니다.[code
아니면 그런것을 지원하는 프로그래밍 언어를 사용하면 됩니다.
http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임
[quote="LispM"]아니면 그런것을 지원하는 프로그래밍 언어를 사
모르겠어요.. (T.T)
Common Lisp네요.
Common Lisp네요.
--
익스펙토 페트로눔
댓글 달기