분류 전체보기 726

조립제법(Horner의 방법) 예제 for Julia

다항식 p(x) 를 1차 다항식 x - a 로 나눌 때의 몫과 나머지를 구하는 조립제법을 Python 언어로 구현해 보았다. 조립제법은 일명 Horner의 방법이라고도 불리우는데, 이는 x = a 에서 다항식 p(x)의 값 p(a)을 계산하는 가장 빠른 알고리즘이기도 하다. p(x) = (x - a)q(x) + r 여기서 r은 나머지이며 r = p(a) 이다. 또 q(x)는 몫이다. [참고] * 온라인으로 조립제법 표 만들기 손으로 계산하는 조립제법 표 * 온라인으로 구하는 다항식의 도함수: 조립제법을 이용한 다항식의 도함수 아래의 소스파일은 Python 용 소스파일 testSyntheticDivision.py 를 Julia 용으로 수정한 것이다. ## Filename: testSyntheticDivis..

80컬럼 컨솔에 19단표 출력하기 예제 for Julia

다음은 Python 용 소스파일 testForFor.py를 Julia 용으로 수정한 것이다. Julia 언어에서 컨솔 출력 함수로는 print, println, @print 가 있다. C 언어에서 쓰이는 조건 분기 구문 if (조건식1) { 블럭1 } else if (조건식2) { 블럭2 } else if (조건식3) { 블럭3 } else { 블럭4 } 에 해딩하는 Julia 언어의 구문은 if 조건식1 블럭1 elseif 조건식2 블럭2 elseif 조건식3 블럭3 else 블럭4 end 이다. Julia 용 소스 파일에 한글이 있을 때는 UTF-8 인코딩으로 저장한다. # Filename: testForFor.jl # # Execute: julia testForFor.jl # # Date: 2013..

(최대공약수 구하기) while... 반복문 예제 for Julia

소스 파일명: testWhile.jl # Filename: testWhile.jl # # Purpose: Example using the while loop syntax # while .... end # # Execute: julia testWhile.jl -200 300 # # 사용법 표시 function printUsage() println("Using: julia testWhile.jl [integer1] [integer2]") println("This finds the greatest common divisor of the given two integers.") end if length(ARGS) != 2 printUsage() exit(1) end # ------------------------..

if...else... 조건문 사용 예제 for Julia

Julia 의 구문에는 MatLab 의 구문을 따르는 것이 많이 있디. 소스 파일명: testIf.py ## Filename: testIf.jl ## ## Purpose: Example using the conditional control structure syntax ## if .... else ... end ## ## Execute: julia testIf.jl [number] # 사용법을 보여주는 함수 function printUsing() println("Using: julia testIf.jl [number]") println("This determines whether the number is positive or not.") end # 명령행 인자의 개수가 1이 아니면 사용법을 보여준다. i..

명령행 인자 처리 예제 for Julia

Julia 언어에서 명령행 인자는 ARGS 라는 전역상수(global constant)로 처리한다. ARGS 는 명령행 실행시 입력된 모든 문자열을 모아둔 리스트를 참조한다. length(ARGS) 는 명령핸 인자의 개수를 의미하며, length(ARGS) 의 값이 n 인 경우 ARGS[1], ARGS[2], ... , ARGS[n] 이 실행시 입력된 모든 옵션 문자열이다. (ARGS[0]은 없음) Julia 는 MatLab 의 구문을 따르는 경우가 많은데 명렬행 옵션 처리도 그 중 하나이다. 이들 명령행 옵션은 Python 언어의 import sys n = len(sys.argv) sys.argv[1], sya.argv[2], ... , sys.argv[n-1] 에 해당한다. 소스파일명: testArg..

Hello 예제 for Julia

컨솔에 문자 출력하는 julia 구문은 println("문자열(스트링)") 이다. 여기서 개행문자 "\n"은 추가하지 않아도 된다.이다. 소스 파일을 저장할 때 UTD-8 인코딩으로 저장하면 한글도 잘 출력된다. 소스 파일명: hello.jl ------------------------------[소스 시작] println("Hello, world!") println("안녕하세요?") ------------------------------[소스 끝] 실행> julia hello.jl Hello, world! 안녕하세요? 또한 @printf 는 C 언어의 printf 처럼 쓸 수 있는 Julia 함수이다. @printf("포맷", 표현식들) 이다. 소스 파일명: hello2.jl --------------..

구구단 출력 예제 for Julia

Julia 언어의 함수 정의 구문 양식은 function functionName(parameters): block end 이다. 또 Julia 언어의 반복문 양식은 for varName = startNumber:endNumber block end 이다. 소스 파일명: forTest.jl ------------------------------[소스 시작] function printDan(dan) for i = 1:9 @printf("%d x %d = %d\n", dan, i, dan*i) end end printDan(2) ------------------------------[소스 끝] 실행> julia forTest.jl 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5..

gcc 와 g++ 의 log 계산 오류

양의 정수를 이진법으로 표현할 때 자리수를 구하는 C 언어 함수를 두 가지로 구현해 보았다. 함수 int nbits(int) 는 주어진 정수를 직접 2로 나누기를 반복하면서 자리수를 구한 것이고, 함수 int bits(int) 는 밑이 2인 로그함수 lg(x) = log(x)/log(2) 를 이용하여 구한 것이다. 그런데 Cygwin 또는 Linux 에서 gcc 로 컴파일하여 실행하면 오루가 빌생한다. (참고로 gcc 의 버전은 4.5.3 이다.) MinGW 의 gcc 는 버전이 4.6.2 인데 마찬가지로 log 계산에 오류가 있다. Visual C, C#, Java, Python 으로는 2100000000 이하의 양의 정수에 대하여 그런 오류가 발생하지 않는다. // Filename: calcLG64...

프로그래밍/C 2013.02.25

Clojure 언어로 계산하는 30000! (팩토리얼) 계산하기

* 아주 간단한 재귀호출 팩토리얼 함수 구현 소스: facto-01.clj ;;; Filename: fact-01.clj ;;; ;;; (fact n) : a factorial function using a plain recursive call ;;; ;;; This gives rise an integer overflow while calculating 20!. ;;; ;;; Execute: clj fact-01.clj ;;; ;;; Date: 2013. 2. 11. ;;; Author: pkim ((AT)) scripts ((DOT)) pe ((DOT)) kr (defn fact [n] (if (< n 2) 1 (* n (fact (- n 1))) )) (printf "10! = %s\n" (fact ..