[작성자:] snowall

  • 글자 수 세기

    1부터 1000까지를 영어로 썼을 때, 전부 다 쓰려면 영어 몇 글자가 필요한가?

    If the numbers 1 to 5 are written out in words: one, two, three,
    four, five, then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total.

    If all the numbers from 1 to 1000 (one thousand) inclusive were written out in words, how many letters would be used?


    NOTE:

    Do not count spaces or hyphens. For
    example, 342 (three hundred and forty-two) contains 23 letters and 115
    (one hundred and fifteen) contains 20 letters. The use of “and” when
    writing out numbers is in compliance with British usage.

    원문 : http://projecteuler.net/index.php?section=problems&id=17

    one


    더보기

  • 한나라당의 영문 논평 번역



    To the exceedingly few unfriendly foreign press out there



    (예외적일 정도로 거의 없는) 불친절한 외국 기자들에게



    The majority of foreign press are very friendly to Korea.

    외국 기자의 대부분은 한국에 매우 친근하다.

    They are very helpful in letting the international community know about the good aspects of Korea.

    I feel thankful to them.

    그 기자들은 국제 사회가 한국의 좋은 측면에 대해 알도록 하는데 매우 도움이 된다.

    난 그 기자들에게 고마움을 느낀다.


    But then there are the exceedingly few foreign press which are not like that.

    They sometimes do malicious or irresponsible reporting that distorts the facts completely.

    그러나, 그런데, 그걸 좋아하지 않는 (진짜로) 매우 적은 수의 외국 기자들이 있다.

    그들은 때때로 사실들을 완전히 왜곡하는, 나쁘거나 무책임한 보도를 한다.


    As the financial crisis is engulfing the world so fast and so strong,
    we cannot say Korea is the only country which remains safe.

    But our situation is not critical enough to be the target of irresponsible ridicule.

    Compared to other countries, Korea has a relatively solid financial system and sufficient foreign reserves.

    The nation’s leader and the people are standing together to overcome these obstacles.

    금융 위기가 매우 빠르고 매우 강하게 세계를 빨아들이면서, 우리는 한국이 안전하게 남아있는 유일한 나라라고 말할 수 없다.

    그러나 우리의 상황은 무책임한 조롱의 목표가 될 정도로 충분히 치명적이지는 않다.

    다른 나라와 비교하면, 한국은 상대적으로 견고한 금융 시스템과 충분한 외국 예비가 있다.(번역자 주 : reserve 자체는 그냥 “예비”라는 뜻이다. 이거 ’o미.)

    국가의 지도자와 그 국민들은 이러한 장애물을 압도하기 위해 함께 서있는 중이다.


    Criticism based on facts we can accept and think of them as constructive.

    But I hope that you will refrain from reporting baseless allegations.

    Those kind of reports will not make the Korean economy collapse, and
    I rather am worried that one or two of those irresponsible reports may
    create mistrust of the entire foreign press.

    우리가 받아들일 수 있고 건설적으로 그것들을 생각할 수 있는 사실에 기반한 비판 (번역자 주: 이 문장은 동사가 없다. 그냥 명사구로 끝. -_-;) (based를 동사로 보면 “비판들은 우리가 받아들일 수 있고 건설적으로 생각할 수 있는 사실들에 기반했다.”)

    하지만 나는 당신들이 근거 없는 주장을 보도하는 것을 그만두게 될 것을 희망한다.

    그러한 종류의 보도는 한국 경제가 무너지게 하지 않을 것이고, 나는 그러한 무책임한 보도 한두가지가 전체 외국 기자들의 불신뢰를 만들 것이 오히려 걱정된다.


    You know the saying that one rotten apple can spoil the whole barrel.

    당신은 하나의 썩은 사과가 통 전체를 망칠 수 있다는 것을 말하는 것을 안다.

    직역해 보았다. 너무 많이 틀려서 해석하기가 어렵다 -_-;

  • 3n+1 문제

    가설: 어떤 임의의 자연수를 생각하자. 그 자연수가 짝수면 2로 나누고 홀수면 3배하여 1을 더한다. 그 결과로 얻어진 자연수에 같은 조작을 반복한다. 그럼 언젠가 반드시 1이 된다.

    그 문제에 도전하는 C프로그램이다.

    #include

    #include

    long long evenodd(long long);

    long long length(long long);

    int main(){

    long long i,leng,t,keep;

    leng=1ll;

    keep=1;

    i=1000000ll;

    while(i){

    t=length(i);

    if(leng<=t){
    leng=t;

    keep=i;

    }

    i–;

    }

    printf(“%lld has length of %lld\n”,keep,leng);

    }

    long long evenodd(long long n){

    if(n%2ll==0ll){

    return n/2ll;

    }

    else{

    return n*3ll+1ll;

    }

    }

    long long length(long long l){

    long long leng=1;

    long long i=l;

    while(i-1){

    i=evenodd(i);

    leng++;

    }

    printf(“%lld, %lld\n”,leng,l);

    return leng;

    }

  • 티스토리 새 관리자에서

    티스토리 새 관리자로 전환한지 몇주 된 것 같다.

    그동안 쓰면서 편리해진 부분도 있고 불편해진 부분도 있는 것 같은데, UI에서 하나 바뀌었으면 좋겠다고 생각하는 것이 있다.

    바로, 글쓰기 화면에서 가장 위에서 두번째 줄에 있는 글 카테고리 정하는 부분이 밑으로 내려와야 한다는 점이다.

    글쓰기 화면의 가장 아래 부분에는 파일첨부, 태그, 공개설정, 트랙백, CCL 등 글의 설정을 변경하는 메뉴가 마련되어 있다. 그런데 글의 카테고리를 선택하는 부분만 위에 있다. 사람이 글을 쓸 때 시선의 흐름상 위부터 보게 되므로, 글의 카테고리를 선택하는 부분을 위에 두었다는 것은 카테고리를 먼저 정하고 글을 쓰라는 뜻으로 풀이된다. 하지만 글의 카테고리 역시 글이 갖고 있는 속성의 하나인데 이 부분만 위에 홀로 놓여 있다면 글의 속성을 지정할 때 빼먹고 쓰게 된다.

    당장 내가 매번 빼먹고 글을 써서, 글을 저장한 다음에 글 목록에서 카테고리를 변경해주는 일이 너무 많다.

    즉, 나의 주장은 카테고리 선택하는 항목이 글쓰기 화면의 아래쪽으로 내려와야 한다고 하는 것이다.

  • 잡상 몇개

    1.

    방금 꿈이 너무 재밌었다.

    보트를 타고 강을 여행했다.

    보트가 뒤집히기도 하고, 뭔가 위험한 일이 잔뜩 있었다.

    그리고 여행이 끝나고 집으로 돌아와서 그 여행의 이야기를 친구와 가족들에게 해주는 꿈이었다.

    그리고나서 꿈이 ƒ渼?

    2.

    교재의 연습문제 푸는걸 찍어서 웹에 올려볼까 하는 생각이 들었다.

    바야흐로 UCC의 시대니까(?).

    그걸 영어로 하면 영어 말하기에도 좀 더 도움이 되지 않을까. -_-;

  • 진화론이란?

    다윈의진화론 에대해 좀 설명해주세염

    과학선생님이 진화에 대해설명하시는대 다윈의 진화론을 이야기하더니

    선생님은 그걸 잘 믿지않고 다른사람들도 신빙성이 없다고 말하는대

    사실인지도 모르겠고

    그 진화론이 어떤지도 모르겠어욤

    초5에염;;

    어렵게 설명하지좀 말아주세여

    진화론은 아주 간단한 법칙에서 시작합니다.

    “후손을 많이 남기는 유전자가 살아남는다”

    여기서 중요한 것은 “후손”과 “유전자”입니다.

    지구에 있는 어떤 생명체든지, 겉모습(표현형)은 그 겉모습을 만들어내는 유전자(유전자형)에 의해서 결정됩니다. 그리고 “후손을 만든다”는
    것은 “겉모습”의 결과죠.

    여기에 “돌연변이”라는 개념이 양념으로 들어갑니다.

    돌연변이는 유전자가 바뀌는 것을 말하는데, 이것은 후손이 생길 때마다 일어날 수 있으며, 유전자가 바뀐 돌연변이는 그 다음 후손으로 계속
    전달됩니다. 만약 돌연변이가 굉장히 치명적이어서 아예 살아남는 것 자체를 불가능하게 한다면 그런 돌연변이 유전자는 사라집니다. 하지만 돌연변이가
    후손을 남기는데 조금이라도 도움이 된다면 그런 돌연변이 유전자는 후손에게 전달됩니다.

    예를들어서, 공작새의 깃털을 살펴보죠.

    수컷 공작새의 깃털은 화려할 수록 암컷 공작의 선택을 더 많이 받습니다.

    과학자들은 실험을 했는데, 수컷 공작새의 깃털을 아주 화려하게 장식해서, 장식하지 않은 수컷 공작들과 섞어둔 후에, 암컷 공작이 어느 수컷
    공작새를 선택하는지 살펴본 것이죠. 그랬더니 화려한 깃털을 가진 수컷 공작을 선택하는 겁니다.

    따라서, 깃털을 화려하게 만드는 유전자는 후손을 더 많이 만들 수 있고, 만약 여기에 돌연변이가 일어나서 깃털을 더 화려하게 만들 수
    있다면 그 유전자는 더 많이 전달될 겁니다. 반대로 깃털이 덜 화려해지는 돌연변이라면 그 유전자는 덜 전달되겠죠.

    하지만 여기에는 “선택압력”이라는 것이 존재합니다. 실험실에서는 공작을 잡아먹을 사람이 아무도 없기 때문에 괜찮지만, 실제 자연에서는
    공작을 잡아먹는 동물들은 아주 많이 있죠. 암컷 공작의 눈에 잘 띄인다는 것은 동시에 공작을 잡아먹는 동물들의 눈에도 잘 띄인다는
    겁니다.

    따라서 깃털을 화려하게 만드는 유전자는 그 후손을 남기기 전에 잡아먹혀서 없어질 가능성이 높아집니다. 물론 반대로 깃털을 덜 화려하게
    만드는 유전자는 살아남아서 자손을 퍼트릴 가능성이 생기겠죠.

    하나의 유전자에 돌연변이가 생겼을 때, 그 돌연변이가 어느 방향으로 전달될 것인가는 전적으로 외부에서의 선택에 달렸습니다. 시절이 좋고
    천적이 적은 때라면 깃털은 점점 화려해질 것이고, 다른 천적들이 많아져서 잡아먹힐 위험이 큰 시대라면 공작의 깃털은 점점 수수해지겠죠. 이것을
    “자연선택”이라고 합니다.

    유전자는 이러한 돌연변이 속에서 균형을 이루어서 머무르게 됩니다.

    하지만 환경이 변하게 되면 진화가 시작됩니다.

    사람의 경우, 머리가 점점 좋아지고 서서 걸어다니는 것이 더 유리했기 때문에 머리를 좋게 하는 유전자와 서서 걸어다닐 수 있는 몸을
    만들어주는 유전자가 살아남았습니다. 만약 머리가 나쁜 것이 자손을 더 많이 퍼뜨릴 수 있었다면 사람은 머리가 나빠지는 쪽으로 진화했을
    겁니다.

    절대로 착각해서는 안되는 개념은, 진화라는 것은 항상 더 좋은 쪽으로 변화한다는 것입니다. 하지만 실제로 우리가 “퇴화”라고 부르는 것도
    진화의 일종이며, 진화는 항상 우리가 원하는 방향으로 가는 것이 아니라는 겁니다.

    우리가 살아있는 화석이라고 부르는 상어는 그 형태와 유전자가 수억년 전부터 거의 변화가 없었기 때문에 화석이라고 부릅니다. 즉, 진화가
    거의 일어나지 않았다는 것인데 이것은 상어는 그 자체로 바닷속에서 먹고 사는데 아무런 지장도 없고 유전자를 후손에게 전달하는데 별다른 어려움이
    없었기 때문이라는 겁니다.

    결론적으로, 진화는 유전자의 변화가 후손에게 전달되고, 그 변화가 점점 누적되어 생김새가 변하게 되는 겁니다.

    —–

    추가하자면 – 대부분의 과학자들은 진화론이 현재 존재하는 생명의 다양성과 형태를 잘 설명하고 과거에 존재했던 생물과 그 화석에 대해서도 비교적 잘 설명하고 있다고 생각합니다. “다른 사람들도 신빙성이 없다고 말하는데”에서 언급된 다른 사람들은 그 비중이 적습니다. 물론, 생각하는 사람의 수가 적다고 해서 어떤 사실의 참과 거짓이 바뀌지는 않지만, 많은 사람들이 같은 의견을 갖고 있다면 “도대체 왜?”에 대해서 진지하게 고민해 보고, 자신이 믿고 있는 것이 전부 다 오류일 가능성에 대해서도 생각해 보는 자세가 필요합니다. 적어도, 과학을 공부하는 사람이라면 말이죠.

  • 질문!

    양심이 없으면 자살이 사라질까?

  • 컴퓨터가 무조건 이기는 가위바위보

    친구의 부탁으로 만들어 줬다. 뭐…이런거 하면 안되는 거겠지만 -_-;

    #include // scanf와 printf를 사용하기 위하여 포함됨

    #include // strcpy를 사용하기 위하여 포함됨

    #include // exit를 사용하기 위하여 포함됨

    int scissor(int); // 컴퓨터의 필승 전략 함수

    int printing_choice(int , int ); // 누가 무엇을 골랐는지 알려주는 함수

    void winner(int ,int ); // 승자가 누구인지 판정하는 함수

    int main(void) // 명령줄 입력값 없음

    {

    int g;

    printf(“Input your choice : “);

    scanf(“%d”,&g); // 사람의 선택을 입력받아서 변수 g에 저장한다

    printing_choice(1,g); // 사람의 선택 g를 출력한다

    printing_choice(2,scissor(g)); // scissor 함수에서 넘겨받은 컴퓨터의 선택을 출력한다

    winner(g,scissor(g)); // 사람의 선택과 컴퓨터의 선택을 비교하여 승자를 출력한다

    system(“PAUSE”);

    return 1; // 프로그램 종료

    }

    int scissor(int p){

    return (p%3)+1;

    // 3으로 나눈 나머지에 1을 더하였으므로 이 함수는 1, 2, 3중의 하나를 반환한다.

    // 입력값 p보다 항상 1이 크기 때문에 승리 전략이 된다.

    }

    int printing_choice(int m, int p){

    char a[10],b[10];

    // 입력받은 값 m이 1이면 사용자의 입력값, 1이 아니면 컴퓨터의 입력값이다.

    if(m==1){

    strcpy(a,”You”);

    }

    else {

    strcpy(a,”Machine”);

    }

    // 입력받은 값 p가 3의 배수이면 가위, 3으로 나눈 나머지가 1이면 바위, 3으로 나눈 나머지가 2이면 보자기이다.

    if(p%3==0){

    strcpy(b,”SCISSOR”);

    }

    else if(p%3==1){

    strcpy(b,”ROCK”);

    }

    else {

    strcpy(b,”PLAIN”);

    }

    // 누구의 입력값이 무엇인지 출력한다

    printf(“%s select %s\n”,a,b);

    }

    void winner(int p,int q){

    char a[10];

    // 가위는 보자기에 이긴다. 그리고 보자기는 바위에 이기고 바위는 가위에 이긴다.

    if((p%3==0&&q%3==2)||(p%3>q%3)){

    strcpy(a,”You win”);

    }

    if((q%3==0&&p%3==2)||(p%3 strcpy(a,”You lose”);

    }

    // 만약 값이 같으면 둘은 비긴다.

    if(p%3==q%3){

    printf(“No one win\n”);

    exit(1);

    }

    // 누가 이겼는지 출력하고 끝낸다.

    printf(“%s!\n”);

    }

  • 50자리 수 100개 더하기

    원문 : http://projecteuler.net/index.php?section=problems&id=13

    100개의 50자리 숫자가 있다. 그 합을 구하여, 그중 왼쪽에서부터 10개 자리의 값을 계산해라.

    Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.

    37107287533902102798797998220837590246510135740250

    46376937677490009712648124896970078050417018260538

    74324986199524741059474233309513058123726617309629

    91942213363574161572522430563301811072406154908250

    23067588207539346171171980310421047513778063246676

    89261670696623633820136378418383684178734361726757

    28112879812849979408065481931592621691275889832738

    44274228917432520321923589422876796487670272189318

    47451445736001306439091167216856844588711603153276

    70386486105843025439939619828917593665686757934951

    62176457141856560629502157223196586755079324193331

    64906352462741904929101432445813822663347944758178

    92575867718337217661963751590579239728245598838407

    58203565325359399008402633568948830189458628227828

    80181199384826282014278194139940567587151170094390

    35398664372827112653829987240784473053190104293586

    86515506006295864861532075273371959191420517255829

    71693888707715466499115593487603532921714970056938

    54370070576826684624621495650076471787294438377604

    53282654108756828443191190634694037855217779295145

    36123272525000296071075082563815656710885258350721

    45876576172410976447339110607218265236877223636045

    17423706905851860660448207621209813287860733969412

    81142660418086830619328460811191061556940512689692

    51934325451728388641918047049293215058642563049483

    62467221648435076201727918039944693004732956340691

    15732444386908125794514089057706229429197107928209

    55037687525678773091862540744969844508330393682126

    18336384825330154686196124348767681297534375946515

    80386287592878490201521685554828717201219257766954

    78182833757993103614740356856449095527097864797581

    16726320100436897842553539920931837441497806860984

    48403098129077791799088218795327364475675590848030

    87086987551392711854517078544161852424320693150332

    59959406895756536782107074926966537676326235447210

    69793950679652694742597709739166693763042633987085

    41052684708299085211399427365734116182760315001271

    65378607361501080857009149939512557028198746004375

    35829035317434717326932123578154982629742552737307

    94953759765105305946966067683156574377167401875275

    88902802571733229619176668713819931811048770190271

    25267680276078003013678680992525463401061632866526

    36270218540497705585629946580636237993140746255962

    24074486908231174977792365466257246923322810917141

    91430288197103288597806669760892938638285025333403

    34413065578016127815921815005561868836468420090470

    23053081172816430487623791969842487255036638784583

    11487696932154902810424020138335124462181441773470

    63783299490636259666498587618221225225512486764533

    67720186971698544312419572409913959008952310058822

    95548255300263520781532296796249481641953868218774

    76085327132285723110424803456124867697064507995236

    37774242535411291684276865538926205024910326572967

    23701913275725675285653248258265463092207058596522

    29798860272258331913126375147341994889534765745501

    18495701454879288984856827726077713721403798879715

    38298203783031473527721580348144513491373226651381

    34829543829199918180278916522431027392251122869539

    40957953066405232632538044100059654939159879593635

    29746152185502371307642255121183693803580388584903

    41698116222072977186158236678424689157993532961922

    62467957194401269043877107275048102390895523597457

    23189706772547915061505504953922979530901129967519

    86188088225875314529584099251203829009407770775672

    11306739708304724483816533873502340845647058077308

    82959174767140363198008187129011875491310547126581

    97623331044818386269515456334926366572897563400500

    42846280183517070527831839425882145521227251250327

    55121603546981200581762165212827652751691296897789

    32238195734329339946437501907836945765883352399886

    75506164965184775180738168837861091527357929701337

    62177842752192623401942399639168044983993173312731

    32924185707147349566916674687634660915035914677504

    99518671430235219628894890102423325116913619626622

    73267460800591547471830798392868535206946944540724

    76841822524674417161514036427982273348055556214818

    97142617910342598647204516893989422179826088076852

    87783646182799346313767754307809363333018982642090

    10848802521674670883215120185883543223812876952786

    71329612474782464538636993009049310363619763878039

    62184073572399794223406235393808339651327408011116

    66627891981488087797941876876144230030984490851411

    60661826293682836764744779239180335110989069790714

    85786944089552990653640447425576083659976645795096

    66024396409905389607120198219976047599490197230297

    64913982680032973156037120041377903785566085089252

    16730939319872750275468906903707539413042652315011

    94809377245048795150954100921645863754710598436791

    78639167021187492431995700641917969777599028300699

    15368713711936614952811305876380278410754449733078

    40789923115535562561142322423255033685442488917353

    44889911501440648020369068063960672322193204149535

    41503128880339536053299340368006977710650566631954

    81234880673210146739058568557934581403627822703280

    82616570773948327592232845941706525094512325230608

    22918802058777319719839450180888072429661980811197

    77158542502016545090413245809786882778948721859617

    72107838435069186155435662884062257473692284509516

    20849603980134001723930671666823555245252804609722

    53503534226472524250874054075591789781264330331690

    포럼 가보니까 C, 파이썬, 루비, 펄, 자바, 어셈블리…

    아주 많은 언어들이 이 문제를 푸는데 사용되었다.


    나의 풀이 보기



    쉽다면 쉽고 어렵다면 어려운, 그런 문제였다.

    64비트 Unsigned Long 정수를 쓰면 42조까지 표현이 되는데, 그래봐야 12자리다. 그래서 저걸 다른 언어로 계산하려면 무한 자리수 계산기를 만들어야 한다.

    음…