4 Add link to cracking answer
source | link

C#, 27573 bytes - cracked!

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

C#, 27573 bytes

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

C#, 27573 bytes - cracked!

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

3 replaced http://codegolf.stackexchange.com/ with https://codegolf.stackexchange.com/
source | link

C#, 27573 bytes

Cracks Jonathan Allan's answerJonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

C#, 27573 bytes

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

C#, 27573 bytes

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

2 fixed code block to actual code used & put non-code content on a separate line
source | link

C#, 27573 bytes

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"27387v=30*"
    ... 27387 '[' characters"characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;j++;whilej=f=0;while(j<v++j<v)if(p%j++==0p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);if(f==0)c++;p++;;c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

C#, 27573 bytes

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"27387 '[' characters".Length,c=0,p=0,f,j;while(c<n){j=f=0;j++;while(j<v)if(p%j++==0)f++;f--;if(--f==0)System.Console.WriteLine(p);if(f==0)c++;p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

C#, 27573 bytes

Cracks Jonathan Allan's answer by 18 characters, namely: 00ijjfff++==;;;;().

static void Main(){int n=int.Parse(System.Console.ReadLine()),v=30*"
    ... 27387 '[' characters ...
".Length,c=0,p=0,f,j;while(c<n){j=f=0;while(++j<v)if(p%j==0)f++;f--;if(--f==0){System.Console.WriteLine(p);c++;}p++;}}

Test it on ideone!

The characters are saved as follows:

  1. j=0;j++;f=0; is rearranged to j=f=0;j++, giving 0; (2 saved)

  2. j++;while(j<v){if(p%j==0)f++;j++;} is rearranged to while(++j<v)if(p%j==0)f++;, taking both the j++s into the while statement, making it one statement, which allow me to remove the {}. This step gives me j;j++; (6 + 2 = 8 saved), leaving the {} for later use.

  3. The two sequential if(f==0) statements are merged with the remaining {}, giving a full if(f==0) (8 + 8 = 16 saved).

  4. f--;if(f==0) is changed to if(--f==0), giving the last f; (2 + 16 = 18 saved).

1
source | link