[작성자:] snowall
-
Circus Charlie
피아노 연습을 추진중인 곡. 2판에 나오는 배경음악이다. 짝수판 악보 :
홀수판 악보 :
짝수판이든 홀수판이든 악보는 2페이지까지 있는데, 1페이지만 인쇄해서 치면 된다. 원래 미디파일로 있는 음악을 악보로 변환했는데, 짝수판 악보는 그래도 원곡 그대로인데 홀수판 악보는 게임에 나오는 효과음까지 충실하게 재현되어 있어서 그대로는 연주가 불가능하다. 첫페이지만 칠 수 있으면 된다. 효과음까지 치면 나름 아티스트 소리를 듣겠지만… 할 수 있을지 -_-;
—
다른데서 구한 악보.
-
계산이 언제 끝나려나?
500메가바이트 분량의 3차원 행렬 6개를 더하고 나누고 하는 삽질을 해야 하는데 시간이 얼마나 걸릴까 추정해 보려고 실험을 해 봤다.#include
int main(void){
int i=2000000000;
double sum = 1.0;
double a = 1.0000001;
while(i–){
sum*=a;
}
printf(“Answer = %lf\n”, sum);
return 1;
}
1.0000001을 20억번 곱하는 프로그램이다. 약 12초 걸렸다.
저기서 *=을 +=으로 바꾸면 20억번 더하는 프로그램이 되는데, 그 경우에는 약 10초정도 걸렸다. 즉, 곱셈이 20%정도 더 연산량이 많다는 뜻이다.
3차원 행렬에 있는 숫자들이 대략 500만개 정도 있고, 그거 6개를 더해야 하니까 덧셈은 3천만번. 그걸 평균을 내기로 했으니까 곱셈은 500만번정도. 오차를 계산해야 하니까 다시 덧셈 500만번 추가. 이 계산을 100번 반복하면 약 4억번 정도의 덧셈과 5천만번 정도의 곱셈이 필요하다. 단순히 위의 수치대로만 계산이 된다면 3초에 끝난다는 뜻인데…
만약 진짜 3초만에 끝나는 계산이라면, 500만개는 부족하니까 계산양을 좀 더 늘려야겠다.
—-
추가.
곱셈과 덧셈의 차이를 발견하기 위해서 좀 더 실험을 해봤다.
#include
#include
int main(int argc, char **argv){
int i=atoi(argv[1]);
double sum = 1.0;
double a = 1.0000001;
while(i–){
sum+=a;
}
printf(“Answer = %lf\n”, sum);
return 1;
}입력받은 수 만큼 더하거나 곱하는 프로그램이다. +=과 *=을 바꿔서 한번씩 해봤다.
그 결과를 보면 쥐꼬리만큼 차이가 나는 것을 발견할 수 있다. 이 그래프의 가로축은 연산 횟수, 세로축은 걸린 시간이다. 걸린 시간을 측정하는데에는 리눅스의 time 명령어를 사용하였다. 로그-로그 그래프인데도 지수함수적인 증가인 것 처럼 보이는 걸 보면, 로그로그-로그로그 그래프를 그려야 할지도 모른다는 생각이 든다. 아무튼, 연산 횟수가 늘어날수록 그 차이도 더 벌어지고 있다는 걸 볼 때, 아마 수천경 번 정도 연산해야 하는 계산은 엄청난 차이가 날 것이다. 지수함수보다 더 빨리 커지는 함수가 지수지수 함수이기 때문이다.(지수함수의 지수가 지수함수로 커지므로.)
-
수와 숫자
수학은 다들 알다시피(?) “수”에 관한 학문이다. 물론 수 이외에 많은 것들을 다루기도 하고, 다른 많은 것들을 수처럼 다루기도 한다. 어떻든 수를 다루고 있는건 확실하다.일상적인 대화에서 “수”와 “숫자”에 대한 개념은 사실 큰 구별 안하고 사용하는데, 예전에 그 개념을 구별 안하고 쓰다가 회사 선배한테 한번 혼난적이 있어서 그 뒤로는 가급적 구별하려고 한다.
“수” = numbers, 산술연산이 가능한 대상. 우리가 “1”이나 “2”라고 부르는 그런 것들의 추상적 실체. 자연수, 정수, 실수, 복소수 등이 있다.
http://krdic.naver.com/detail.nhn?docid=22401500
“숫자” = “수”를 표현하기 위한 문자, 글자. “1”이나 “2”처럼 그려져 있는 그림 그 자체. “일”도 숫자이고 “이”도 숫자다. 즉, 우리는 “숫자”를 읽으면 그 숫자가 표시하고 있는 특정한 “수” 하나를 “상상”하게 된다.
http://krdic.naver.com/detail.nhn?docid=23074800
하지만 “사람이나 사물의 수”를 “숫자”로 나타내기도 하는 걸 보면 내가 과히 틀리게 사용한 건 아니라고 보이는데. 괜히 혼났다.

circusch.pdf