전체 글 725

Pollard's rho method 소개: 정수의 인수분해(factorizing integers) with Java

정의 (소수와 합성수) 1보다 큰 양의 정수 n에 대하여 (i) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하면, n을 합성수(合成數, composite number)라고 한다. 참고로 이 경우, a, b 중에 적어도 하나는 sqrt(n) 보다 작거나 같다. 합성수의 예로는 4, 6, 9, 24, 143 등이 있다. (ii) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하지 않으면, 즉 n을 두 양의 정수의 곱으로 표현하는 방법이 1*n과 n*1 두 가지 뿐이면, n을 소수(素數, prime number)라고 한다. 소수의 예로는 2, 3, 5, 7, 11 등이 있다. n이 소수인지 아닌지 확인하려면, n을 2 보다 크거나 같고 sqrt(n) 보다 작거..

Pollard's rho method 소개: 정수의 인수분해(factorizing integers) with Groovy

정의 (소수와 합성수) 1보다 큰 양의 정수 n에 대하여 (i) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하면, n을 합성수(合成數, composite number)라고 한다. 참고로 이 경우, a, b 중에 적어도 하나는 sqrt(n) 보다 작거나 같다. 합성수의 예로는 4, 6, 9, 24, 143 등이 있다. (ii) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하지 않으면, 즉 n을 두 양의 정수의 곱으로 표현하는 방법이 1*n과 n*1 두 가지 뿐이면, n을 소수(素數, prime number)라고 한다. 소수의 예로는 2, 3, 5, 7, 11 등이 있다. n이 소수인지 아닌지 확인하려면, n을 2 보다 크거나 같고 sqrt(n) 보다 작거..

Pollard's rho method 소개: 정수의 인수분해(factorizing integers) with Ruby

정의 (소수와 합성수) 1보다 큰 양의 정수 n에 대하여 (i) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하면, n을 합성수(合成數, composite number)라고 한다. 참고로 이 경우, a, b 중에 적어도 하나는 sqrt(n) 보다 작거나 같다. 합성수의 예로는 4, 6, 9, 24, 143 등이 있다. (ii) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하지 않으면, 즉 n을 두 양의 정수의 곱으로 표현하는 방법이 1*n과 n*1 두 가지 뿐이면, n을 소수(素數, prime number)라고 한다. 소수의 예로는 2, 3, 5, 7, 11 등이 있다. n이 소수인지 아닌지 확인하려면, n을 2 보다 크거나 같고 sqrt(n) 보다 작거..

Pollard's rho method 소개: 정수의 인수분해(factorizing integers) with Python

정의 (소수와 합성수) 1보다 큰 양의 정수 n에 대하여 (i) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하면, n을 합성수(合成數, composite number)라고 한다. 참고로 이 경우, a, b 중에 적어도 하나는 sqrt(n) 보다 작거나 같다. 합성수의 예로는 4, 6, 9, 24, 143 등이 있다. (ii) n = a * b 를 만족하고 1보다 큰 두 양의 정수 a와 b가 존재하지 않으면, 즉 n을 두 양의 정수의 곱으로 표현하는 방법이 1*n과 n*1 두 가지 뿐이면, n을 소수(素數, prime number)라고 한다. 소수의 예로는 2, 3, 5, 7, 11 등이 있다. n이 소수인지 아닌지 확인하려면, n을 2 보다 크거나 같고 sqrt(n) 보다 작거..

Hello 예제를 통해서 비교하는 Java 언어와 Scala 언어

아래의 두 예제의 실행 결과는 똑 같다. 이 두 예제를 통해서 Java 언어와 Scala 언어의 문법적인 차이를 알아보고자 한다. Java 예제 /** * Filename: HelloWorld.java * * Compile: javac -d classes HelloWorld.java * Execute: java -cp classes examples.HelloWorld */ package examples; class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); System.out.println("안녕하세요?"); } } /* Console Output: Hello, world! 안녕하세요?..

대화형 모드의 진법(radix) 변환 예제 with Scala

다음은 대화형 모드(interactive mode)에서 진법 변환(radix conversion)하는 Scala 소스 코드이다. 메뉴는 주메뉴 Command: (S)et radix, (A)bout, (Q)uit or E(x)it 와 부메뉴 SubCommand: 'main()' to goto Main menu, 'exit()' or 'quit()' to exit 로 구성되어 있으며, 진법 변환의 핵심은 java.lang.Integer 클래스와 java.lang.Long 클래스의 정적 메소드 Integer.parseInt(String, int); java.lang.Long.toString(long, int); 울 이용하였으며, 지원되는 진법은 2진법에서 36진법 까지이다. 참고로 Java의 Long 타입과 ..

황금비율(golden ratio) 구하기 with Scala

다음은 이차방정식 x^2 - x - 1 = 0 의 양의 근 즉 황금비율(golden ratio)을 구하는 Scala애플리케이션 소스이다. 황금비율을 구하는 비례방정식은 1 : x = x : (x+1) 이며, 이를 이차방정식으로 표현한 것이 x^2 - x - 1 = 0 이다. See: http://en.wikipedia.org/wiki/Golden_ratio /* * Filename: testGoldenRatio.scala * 황금률(즉, 이차방정식 x^2 - x - 1 = 0 의 양의 근)을 계산한다. * * Execute: scala testGoldenRatio.scala * * Date: 2009/03/09 * Author: PH Kim [ pkim (AT) scripts.pe.kr ] */ def ..

현재 시각 알아내기 for Scala

현재 시각을 컨솔에 보여주는 간단한 애플리케이션의 Scala 언어 소스 코드이다. UTC란 1970년 1월 1일 0시 0분 0초를 기준으로 하여 경과된 초 단위의 총 시간을 의미한다. * UTC(Universal Time Coordinated, 협정세계시, 協定世界時) /* * Filename: testCTime.scala * * Compile: scalac -encoding MS949 testCTime.scala * Execute: scala TestCTimeApp */ import java.util._ object TestCTimeApp { var weekNames : Array[String] = Array( "일", "월", "화", "수", "목", "금", "토" ) def main(args: ..

손으로 계산하는 긴자리 곱셈표 만들기 with Visual Basic

초등학교 때 배우는 두 정수의 곱셈표를 만들어 주는 C# 소스이다. ' -------------------------------------------- ' Filename: MakeMultTableVB.bas ' ' Print a multiplication table. ' ' Compile: vbc MakeMultTableVB.bas ' Execute: MakeMultTableVB 230 5100 ' ' Date: 2009/03/07 ' Author: pkim (AT) scripts.pe.kr ' -------------------------------------------- Imports System Namespace MyTestApplication1 Class MakeMultTableApp Share..

손으로 계산하는 긴자리 곱셈표 만들기 with C#

초등학교 때 배우는 두 정수의 곱셈표를 만들어 주는 C# 소스이다. /* * Filename: MakeMultTableApp.cs * * Print a multiplication table. * * Compile: csc MakeMultTableApp.cs * Execute: MakeMultTableApp 230 5100 * * Date: 2009/03/07 * Author: pkim (AT) scripts.pe.kr */ using System; namespace MyTestApplication1 { public class MakeMultTableApp { public static void PrintUsing() { Console.WriteLine("Using: MakeMultTableApp [numb..

프로그래밍/C# 2009.03.07