Try The 'C' Code !

Here comes a challenge for Computer Engineers !

int i, n = 20;
for (i = 0; i < n; i--)
{
printf("X");
}


By only changing or adding ONLY ONE character to the above code:

Find 3 ways to make the above code print X 20 times!

-The Big K-
p.s: This challenge will be open for all CEans untill someone cracks it. Do *not* expect an answer from me.

Replies

Welcome, guest

Join CrazyEngineers to reply, ask questions, and participate in conversations.

CrazyEngineers powered by Jatra Community Platform

  • sristi

    @sristi-483Qff • Jun 15, 2006

    1)
    int i, n = 20;
    for (i = 0; i < n; i++)
    {
    printf("X");
    }


    2)int i,n=20;
    for(i=0;i++<n๐Ÿ˜‰
    {
    print("X");
    }


    3)
    int i, n = 20;
    for (i = 0; ++i < =n; )
    {
    printf("X");
    }

  • Kaustubh Katdare

    @thebigk • Jun 15, 2006

    That was a nice attempt [โ€‹IMG]

    But you missed this -

    By only changing or adding ONLY ONE character to the above code:

    ๐Ÿ˜‰

    -The Big K-

  • Jerry

    @jerry-5wPKU7 • Jun 15, 2006

    working on it

    sristi1)
    int i, n = 20;
    for (i = 0; i < n; i++)
    {
    printf("X");
    }

    yeh, you changed -- to ++ , that is you changed two characters. However you are allowed to change only one chracter from the code. Really interesting, I'm working on it !๐Ÿ˜‰

  • crook

    @crook-0PFkJv • Jun 16, 2006

    I'm not a C programmer but this is more of a logic problem. Should not take more time. Let me see what can I do about it.

    crook

  • Kaustubh Katdare

    @thebigk • Jun 16, 2006

    probably I should start giving out hints!

    Cummont fellaz, do you really need them? [โ€‹IMG]

    -The Big K-

  • crook

    @crook-0PFkJv • Jun 17, 2006

    got it

    i think i got it.

    in the original code, make the following change

    for (i = 0; i < n; n--)

    it should work! now trying the remaining two methods ๐Ÿ˜

  • crook

    @crook-0PFkJv • Jun 24, 2006

    here comes the second way - ๐Ÿ˜

    int i, n = 20;
    for (i = 0; -i < n; i--)
    {
    printf("X");
    }

    and the third ๐Ÿ˜

    int i, n = 20;
    for (i = 0; i + n; i--)
    {
    printf("X");
    }
  • crook

    @crook-0PFkJv • Jun 24, 2006

    New Challenge !

    This is a simple C puzzle for you -

    "Write a "Hello World" program in 'C' without using a semicolon."

    Try it, its very simple.

    CrooK

  • Jerry

    @jerry-5wPKU7 • Jun 25, 2006

    int i, n = 20;
    for (i = 0; -i < n; i--)
    {
    printf("X");
    }

    will this work? ๐Ÿ˜’

    I don't have a compiler to try this out. I have started working on crook's problem. Its been quite sometime since I letf coding ๐Ÿ˜”

  • pradypop

    @pradypop-Draqkg • Jun 28, 2006

    main(){if(printf("Hello world")){}}

    This might print hello world. No semi-colons used.

  • crook

    @crook-0PFkJv • Jun 28, 2006

    yes, thats a correct solution! ๐Ÿ˜€

  • rajeshkumar.km

    @rajeshkumarkm-JkfM7A • Aug 7, 2006

    my guesss

    ๐Ÿ˜‰
    int i, n = -20;
    for (i = 0; i < n; i--)
    {
    printf("X");
    }

    i think the above change ( minus sign before 20 in the line 'int i,n=20')will respond to your view correctly

  • crook

    @crook-0PFkJv • Aug 8, 2006

    rajeshkumar.km๐Ÿ˜‰
    int i, n = -20;
    for (i = 0; i < n; i--)
    {
    printf("X");
    }

    i think the above change ( minus sign before 20 in the line 'int i,n=20')will respond to your view correctly

    ๐Ÿ˜• I'm afraid the logic won't work.

    Croook

  • devi prasad

    @devi-prasad-rBHPuv • Aug 10, 2006

    ans:

    first method:

    int i, n = -20;
    for (i = 0; i < n; i--)
    {
    printf("X");
    }


    second method :


    int i, n = 20;
    for (i = 0; i < -n; i--)
    {
    printf("X");
    }


    third method:


    int i, n = 20;
    for (i = 20; i < n; i--)
    {
    printf("X");
    }


    ๐Ÿ˜

  • Mahesh

    @mahesh-wLPhv2 • Oct 7, 2006

    third method:


    int i, n = 20;
    for (i = 20; i < n; i--)
    {
    printf("X");
    }



    How can this work? This is an infinite loop.

  • Kaustubh Katdare

    @thebigk • Oct 7, 2006

    Maheshthird method:


    int i, n = 20;
    for (i = 20; i < n; i--)
    {
    printf("X");
    }



    How can this work? This is an infinite loop.
     for (i = 20; i < n; i--)

    Good Catch, Mahesh ๐Ÿ˜€ . Devi Prasad might want to fix it.

    -The Big K-

  • bantini

    @bantini-EVA22R • Oct 10, 2006

    how about (i=0;i<n:-i--)?๐Ÿ˜• hey dude,just a lame attempt from an amateur!!!dunno much about c anyway!

  • pradypop

    @pradypop-Draqkg • Oct 11, 2006

    Maheshthird method:


    int i, n = 20;
    for (i = 20; i < n; i--)
    {
    printf("X");
    }



    How can this work? This is an infinite loop.

    I don't think there's an infinite loop in the code. Infact, statements inside loop are not executed even once.

    n=20, i=20 at initilization and condition is i<n, 20<20 is not true. Condition fails straightaway.

  • Mahesh

    @mahesh-wLPhv2 • Oct 11, 2006

    Still the program is wrong.Can you give correct solution?

  • pradeep_agrawal

    @pradeep-agrawal-rhdX5z • Oct 18, 2006

    /* 1st Way: Change i in i-- by n*/
    int i, n = 20;
    for (i = 0; i < n; n--)
    {
    printf("X");
    }


    /* 2nd Way: Add - before i in i < n */
    int i, n = 20;
    for (i = 0; -i < n; i--)
    {
    printf("X");
    }


    /* 3rd Way: Change < in i < n by + */
    int i, n = 20;
    for (i = 0; i + n; i--)
    {
    printf("X");
    }

  • Prasad Ajinkya

    @prasad-aSUfhP • Oct 18, 2006

    This is decent enough, hope the 3 ways are as follows -

    int i, n = 20;
    for (i = 0; i < -n; i--)
    {
    printf("X");
    }


    int i, n = 20;
    for (i = 40; i < n; i--)
    {
    printf("X");
    }

    int i, n = 20;
    for (i = 0; i > n; i--)
    {
    printf("X");
    }

    I have indicated in red the change in character that I have made.

  • ksrbhanu

    @ksrbhanu-7vVvZL • Nov 2, 2006

    Hi friends,

    I have one method, i will try other two. mean while review this method

    int i, n = 20;
    for (i = 0; i < n; n--)
    {
    printf("X");
    }

    replacing the i in the decrement statement with n it works , this is one character change ๐Ÿ˜Ž

  • ksrbhanu

    @ksrbhanu-7vVvZL • Nov 2, 2006

    sory guys, i have n't checked the whole chain , pradeep has already posted this metho ๐Ÿ˜”

  • spirit

    @spirit-C1iJsl • Nov 9, 2006

    hello.....i m giving your answer n u have to tell thats right or not.....๐Ÿ˜Ž
    this is your code........
    int i, n = 20;
    for (i = 0; i < n; i--)
    {
    printf("X");
    }
    1. instead of i-- in the loop,change it as n--.
    2.in initialisation,n=20,change it as:n=-20.
    3.instead of i--,use:i++.

    ๐Ÿ˜

  • rahul dev choud

    @rahul-dev-choud-qQtOsv • Jan 16, 2007

    hey its really interesting don't tell da ans...

    working on it ....

    w'll back soon......