본문 바로가기

프로그래밍

(357)
[JAVA] 원탁에서 n 칸씩 건너 빼와서 만들어진 수열 다음 지식에서 재미있어 보이는 문제가 있어서 한번 짜 봤다. 문제는 다음과 같다. 2010년 4월 1일 추가 : 여기에 좀 더 재미있는 분석과 코드가 있다. Josephus Problem 이란 이름이 붙은 것 같다. http://k.daum.net/qna/view.html?qid=44T6T 친구가 질문했는데 너무 어려워서 지인들의 설명을 듣고자 질문합니다. 1부터 30까지의 수를 가진 사람이 순서대로 원 주위로 앉아있을 때, 먼저, 9번째 앉아있는 사람을 쫓아내고, 그로부터 9칸을 더 간 18번째 사람을 쫓아낸다. 마찬가지로 9칸을 더 간 27번 사람을 쫓아내고, 그 다음, 또 9칸을 더 간 사람(6번)을 쫓아낸다. 그리 고 나서 9칸을 갈 때에는 9번째 앉았던 쫓겨난 사람은 없는 것으로 치고 9칸 뒤,..
[JAVA|UVa] 108 Maximum Sum 자바 연습이 좀 필요해서, UVa 문제를 좀 풀어보려 한다. 처음 문제를 풀었다. 문제를 제출할 때 main 메소드가 들어있는 클래스의 이름은 Main 이어야 하는 것 같다. 이것 때문에 여러 차례 빠꾸 맞음. 우선 코드. import java.util.Scanner; public class Main { private static int N; private static int[][] a = null; private static int x_s , x_e; public static void main(String arg[]) { getData1(); System.out.println(findMaxSum1()); } private static void getData1() { Scanner scnr = new S..
[JAVA|기초] The method format(String, Object[]) in the type String is not applicable 자바에서 다음과 같이 코드를 만들어 짜 봤는데 윈도우의 이클립스 환경에서는 문제가 없었고, 리눅스 이클립스 환경에서 에러를 발생시키며 한참을 고민하게 했다. 우선 코드 : C의 sprintf, CString의 Format 과 비슷한 메소드이다. utfstring = String.format("%%%02X%%%02X%%%02X", utfb[0], utfb[1], utfb[2]); 이 코드 부분이 이클립스 Build id: 20090920-1017 에서는 문제없이 컴파일이 됐었다. 그러나, 리눅스에 깔린 Eclipse Platform Version: 3.2.0 Build id: M20060921-0945 (CentOS release 5 (Final))에서는 다음과 같은 에러를 발생시켰다. The method..
[Java] http://mindprod.com/jgloss/jgloss.html 자바 레퍼런스 사이트 http://mindprod.com/jgloss/jgloss.html 아주 오랫만에 유즈넷을 구글그룹스로 들어가 봤다. 자바가 필요하니 만큼 자바 그룹들을 좀 구독하고 들쳐봤다. 역시 유즈넷은 가장 소중한 정보를 알려주는 사이트들을 잘 가르쳐준다. 비록 스팸은 횡횡하고 있었지만, 아직 죽지 않았다. 스팸은 그리즈멍키와 킬파일 스크립트로 무시할 수 있었다. 땡쓰.
[WINDOWS] 메모리상의 맵파일과 이미지 비교 김성우 해킹, 파괴의 광학 6장 예제 6-3을 조금 변형했다. 소스의 저작권이 좀 아리까리한데, 일반적인 예제코드라 생각하여 저자의 허락없이 변형하여 올렸다. (혹시 저작권자가 이 글을 보고, 문제를 제기한다면 요청대로 처리하겠다.) #include #include int CompareMappedAndAutoLoaded(char *szDllPath) { int i, result; //char szDllPath[] = BYTE *pMapFile, *pDll; DWORD dwSize; DWORD dwSameSize = 1; HANDLE hFile, hFileMap; char c; hFile = CreateFile(szDllPath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_..
[WINDOWS] DLL 매핑 주소 알아보기 김성우 해킹, 파괴의 광학 6장 예제 살짝 변형해서 실행해 보고, sysinternals vmmap 툴로 비교해 봤다. 결과는 간단히 아래 캡쳐를 보라.
[WINDOWS] 비스타 이후버전 무결성 (integrity level) 보기, 바꾸기 툴. http://www.minasi.com/apps/ chml.exe 라는 툴을 다운받을 수 있어서, 명령행에서 특정 파일이나 폴더의 무결성(integrity)를 확인하거나 수정할 수 있다. 레지스트리에 대한 무결성을 수정하는 툴을 또 따로 있어서 이름이 regil.exe 이다. 윈도우에 기본 보안수정 툴인 icacls.exe 란 것도 있나보다.
생성함수 수열을 점화식으로 표현할 수도 있지만, 생성함수(generating function)라는 다항식을 이용해서 표현하는 방법도 있다고 한다. 뭔가 싶었다. 그런데, 좀 생각을 해 보니, 소수표현과 분수에 비유해서 설명할 수 있지 않을까 하는 생각이 들었다. 그러니까, 3/7 이라는 소수는 0부터 9까지의 수만 갖는 무한수열을 표현한다. 0.428571428571... 을 4, 2, 8, 5, 7, 1... 이렇게 이어지는 무한수열을 나타내는 것이라고 보자는 거다. 그럼, 좀 복잡한 점화식 대신에, 3/7 이라는 간단한 수로 무한한 수열을 표현할 수 있다. 그런데, 정수의 소수표현은 0부터 9까지의 수만 수열의 한 항으로 가질 수 있다는 한계가 있다. 이건 진법을 바꾸면 무한하게 늘어날 수 있겠지만, 아무리 ..