8/29/2011

f(N) counts number of '1'. For example f(13) = 6. So f(1)=1. What next number do satisfy the rule?



f(N) counts number of '1'. For example f(13) = 6. So f(1)=1. What next number do satisfy the rule?


---------------------------------------------------


μ–‘μˆ˜ n에 λŒ€ν•΄μ„œ 1κ³Ό n 사이에 1이 λ‚˜μ˜€λŠ” 횟수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν•¨μˆ˜λ₯Ό f(n)이라고 ν•œλ‹€. 예λ₯Ό λ“€μ–΄ f(13)=6이닀. f(n)=n이 λ˜λŠ” 첫번째 μ–‘μˆ˜λŠ” 1이닀. λ‘λ²ˆμ§Έ μ–‘μˆ˜λŠ” 무엇인가?


5 comments:

  1. This is my code.
    Let's compare to each code.
    Bye Bye~ ^^

    int CountOne(int input)
    {
    int count =0;
    while(1)
    {
    if( input%10 == 1)
    count++;
    input = input/10;

    if(input == 0)
    break;
    }

    return count;
    }


    int main()
    {
    int i=2;
    int count=1;

    while(1)
    {

    count += CountOne(i);

    if( i == count)
    break;

    i=i+1;

    }


    printf("f(%d) = %d\n", i, count);

    return 0;
    }

    ReplyDelete
  2. Anonymous30/8/11 00:16

    JeKang's code:

    #include

    void main()
    {
    unsigned long Num, End, Temp;

    Num=0;
    End=0;

    while(Num<=1 || Num!=End){
    Num+=1;
    Temp=Num;

    while(Temp!=0){
    if(Temp%10==1) End+=1;
    Temp=(unsigned long)(Temp/10);
    }

    }
    printf("μž…λ ₯κ°’ Num = %d\nκ²°κ³Όκ°’ End = %d\n",Num,End);
    }

    ReplyDelete
  3. μ œκ°•μ•„ μ†ŒμŠ€ 잘 μ§°λ„€..
    λ‚΄κ°€ λ³Όλ•ŒλŠ”, whileλ¬Έ 쑰건이 쑰금 λ³΅μž‘ν•΄μ„œ λ‚˜μ€‘μ— 보면 이해가 μ‰½κ²Œ μ•ˆκ°ˆ 것 κ°™κ³ ..
    whileλ¬Έ μ•ˆμ— while문은 νŠΉμ • 일만 ν•˜λ‹ˆκΉ ν•¨μˆ˜λ‘œ λ§Œλ“€λ©΄ μ†ŒμŠ€κ°€ 더 κ°„κ²°ν•΄ 질 것 κ°™λ‹€.
    μž˜ν–ˆλ„€..
    Good job~!!

    ReplyDelete
  4. Anonymous1/9/11 02:46

    JeKang :

    λ„€ ν•¨μˆ˜λ‘œλ„ λ§Œλ“€μ–΄ λ³Όκ»˜μš”. κ°μ‚¬ν•©λ‹ˆλ‹€~

    ReplyDelete
  5. Anonymous2/9/11 03:21

    λ―Όν˜„κ·œ

    #include
    #include

    int fun(char* a);

    void main()
    {
    int d;
    int p=0;
    int i=0;
    char a[20]={0,};
    printf("μˆ«μžμž…λ ₯ν•˜μ„Έμš”:");
    scanf("%d",&d);

    for(i=0;i<=d;i++)
    {
    itoa(i,a,10);
    p=p+fun(a);
    if(p==i)
    printf("%d\n",p);

    }

    }

    int fun(char* a)
    {
    int i=0;
    int count=0;
    for(i=0;i<= 20 ;i++)
    {
    if(a[i]=='1') count+=1;
    }
    return count;
    }

    ReplyDelete