75
\$\begingroup\$

Inspiration: in 1939, a man named Ernest Vincent Wright wrote a novel called Gadsby without using the letter 'e'.

Your task is to write a set of (up to 5) programs in any language (which has a text-based syntax*) to output all 26 letters of the alphabet in order. However for each vowel aeiou, at least one of the programs must not include any occurrence of the vowel.

So there must be

  • a program that does not use 'a' or 'A' anywhere in the syntax of the program.
  • a program that does not use 'e' or 'E' anywhere in the syntax of the program.
  • a program that does not use 'i'  or 'I' anywhere in the syntax of the program.
  • a program that does not use 'o' or 'O' anywhere in the syntax of the program.
  • a program that does not use 'u' or 'U' anywhere in the syntax of the program.

All of them must output abcdefghijklmnopqrstuvwxyz.

The winner shall be the solution where the length of all programs is the shortest.

* since the constraint wouldn't be much of a challenge in Piet or Whitespace

\$\endgroup\$
21
  • 2
    \$\begingroup\$ if one manages to make a single program that does not contain any vowel, do we need multiply the length of the program by 5? \$\endgroup\$ Apr 24, 2012 at 10:55
  • 5
    \$\begingroup\$ @w0lf: No, it says "up to 5 programs" and "length of all programs", which I read as "there can be only one program and its length counts in this case". \$\endgroup\$
    – schnaader
    Apr 24, 2012 at 11:09
  • 10
    \$\begingroup\$ @PeterTaylor: You don't think having to avoid using vowels in your syntax is a unique challenge? As a JS programmer, it's especially interesting :) \$\endgroup\$
    – mellamokb
    Apr 24, 2012 at 13:51
  • 2
    \$\begingroup\$ Are newlines acceptable in the output (i.e. one per character)? I can shorten some of my code if that is the case... \$\endgroup\$
    – Gaffi
    Apr 24, 2012 at 21:17
  • 3
    \$\begingroup\$ I'm the OP. Uppercase not allowed. \$\endgroup\$
    – shamp00
    Sep 17, 2016 at 5:21

122 Answers 122

1 2 3 4
5
0
\$\begingroup\$

Thunno 2, 1 byte

!= A. Constant for "lowercase alphabet".

Thunno 2 B, 6 bytes

ṇßæ96>

No symbols that look like vowels here.

Explanation
ṇßæ96>  # Full program
ṇß      # Push compressed integer 122
  æ     # Filter the range [1..122] by:
   96>  #  Greater than 96?
        # Implicit output, converted to
        # characters by the B flag

Normally we would have used "inclusive range" (I), but that's a vowel.

Screenshots

Screenshot 1 Screenshot 2

\$\endgroup\$
-2
\$\begingroup\$

Python 48 chars without a e o u

print'\x61bcd\x65fgh\x69jklmn\x6fpqrst\x75vwxyz'
\$\endgroup\$
1
  • \$\begingroup\$ What about no i? It is surely possible. Something like exec'pr\x69nt...'. Also, the header should say "Python 2", if you want to be exact. \$\endgroup\$ Sep 16, 2016 at 21:18
1 2 3 4
5

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.