Connecting Tech Pros Worldwide Forums | Help | Site Map

Hello World

boxfish's Avatar
Expert
 
Join Date: Mar 2008
Location: California
Posts: 478
#1: Nov 21 '08
Happy Hello World Day to the C/C++ forum! Today is the day to write cryptic "Hello World" programs and say hello to at least ten people:
Expand|Select|Wrap|Line Numbers
  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4.     char oldHello[] = "Happy Whirl!";
  5.     char newHello[] = "Jello(~orld)";
  6.     int badChars[] = {1, 2, 3, 4, 7, 8, 9, 10};
  7.     cout << oldHello;
  8.     int j = 7;
  9.     for (int i = 11; i >= 0; i--) {
  10.         cout << '\b';
  11.         if (badChars[j] == i) {
  12.             cout << newHello[i] << '\b';
  13.             j--;
  14.         }
  15.     }
  16.     cout << endl;
  17.     cin.get();
  18.     return 0;
  19. }
  20.  
Hello to the C/C++ people:
weaknessforcats (4660 posts)
Banfa (3405 posts)
sicarie (2837 posts)
JosAH (2186 posts)
Ganon11 (1819 posts)
gpraghuram (1095 posts)
horace1 (1059 posts)
Savage (1018 posts)
AdrianH (977 posts)
RedSon (685 posts)
BISKOT188 (1 post)
Gregor McAlen (9 posts)
sandeepkavade (18 posts)
mohanht (1 post)

(Follow the link and it will make sense.)

Ganon11's Avatar
Moderator
 
Join Date: Oct 2006
Location: New York, United States of America
Posts: 3,428
#2: Nov 21 '08

re: Hello World


Expand|Select|Wrap|Line Numbers
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. struct prime_factor {
  6.     int prime, exp;
  7. };
  8.  
  9. int buildNum(vector<prime_factor> factors);
  10.  
  11. int main() {
  12.     vector<vector<prime_factor> > characters;
  13.     vector<prime_factor> factors;
  14.     prime_factor factor;
  15.  
  16.     factor.prime = 2;
  17.     factor.exp = 3;
  18.     factors.push_back(factor);
  19.     factor.prime = 3;
  20.     factor.exp = 2;
  21.     factors.push_back(factor);
  22.     characters.push_back(factors);
  23.     factors.clear();
  24.  
  25.     factor.prime = 101;
  26.     factor.exp = 1;
  27.     factors.push_back(factor);
  28.     characters.push_back(factors);
  29.     factors.clear();
  30.  
  31.     factor.prime = 2;
  32.     factor.exp = 2;
  33.     factors.push_back(factor);
  34.     factor.prime = 3;
  35.     factor.exp = 3;
  36.     factors.push_back(factor);
  37.     characters.push_back(factors);
  38.     factors.clear();
  39.  
  40.     factor.prime = 2;
  41.     factor.exp = 2;
  42.     factors.push_back(factor);
  43.     factor.prime = 3;
  44.     factor.exp = 3;
  45.     factors.push_back(factor);
  46.     characters.push_back(factors);
  47.     factors.clear();
  48.  
  49.     factor.prime = 111;
  50.     factor.exp = 1;
  51.     factors.push_back(factor);
  52.     characters.push_back(factors);
  53.     factors.clear();
  54.  
  55.     factor.prime = 2;
  56.     factor.exp = 2;
  57.     factors.push_back(factor);
  58.     factor.prime = 11;
  59.     factor.exp = 1;
  60.     factors.push_back(factor);
  61.     characters.push_back(factors);
  62.     factors.clear();
  63.  
  64.     factor.prime = 2;
  65.     factor.exp = 5;
  66.     factors.push_back(factor);
  67.     characters.push_back(factors);
  68.     factors.clear();
  69.  
  70.     factor.prime = 3;
  71.     factor.exp = 1;
  72.     factors.push_back(factor);
  73.     factor.prime = 29;
  74.     factor.exp = 1;
  75.     factors.push_back(factor);
  76.     characters.push_back(factors);
  77.     factors.clear();
  78.  
  79.     factor.prime = 111;
  80.     factor.exp = 1;
  81.     factors.push_back(factor);
  82.     characters.push_back(factors);
  83.     factors.clear();
  84.  
  85.     factor.prime = 2;
  86.     factor.exp = 1;
  87.     factors.push_back(factor);
  88.     factor.prime = 3;
  89.     factor.exp = 1;
  90.     factors.push_back(factor);
  91.     factor.prime = 19;
  92.     factor.exp = 1;
  93.     factors.push_back(factor);
  94.     characters.push_back(factors);
  95.     factors.clear();
  96.  
  97.     factor.prime = 2;
  98.     factor.exp = 2;
  99.     factors.push_back(factor);
  100.     factor.prime = 3;
  101.     factor.exp = 3;
  102.     factors.push_back(factor);
  103.     characters.push_back(factors);
  104.     factors.clear();
  105.  
  106.     factor.prime = 2;
  107.     factor.exp = 2;
  108.     factors.push_back(factor);
  109.     factor.prime = 5;
  110.     factor.exp = 2;
  111.     factors.push_back(factor);
  112.     characters.push_back(factors);
  113.     factors.clear();
  114.  
  115.     factor.prime = 3;
  116.     factor.exp = 1;
  117.     factors.push_back(factor);
  118.     factor.prime = 11;
  119.     factor.exp = 1;
  120.     factors.push_back(factor);
  121.     characters.push_back(factors);
  122.     factors.clear();
  123.  
  124.     int len = characters.size();
  125.     for (int i = 0; i < len; i++)
  126.         cout << (char)buildNum(characters[i]);
  127.  
  128.     cout << endl;
  129.  
  130.     system("PAUSE");
  131.     return 0;
  132. }
  133.  
  134. int buildNum(vector<prime_factor> factors) {
  135.     int len = factors.size(), sum = 1;
  136.     for (int i = 0; i < len; i++) {
  137.         int product = 1;
  138.         int len2 = factors[i].exp;
  139.         for (int j = 0; j < len2; j++) {
  140.             product *= factors[i].prime;
  141.         }
  142.         sum *= product;
  143.     }
  144.     return sum;
  145. }
  146.  
Mmmm, obfuscation.
boxfish's Avatar
Expert
 
Join Date: Mar 2008
Location: California
Posts: 478
#3: Nov 21 '08

re: Hello World


Hello, Ganon11. I'm very impressed at how obfusticated that is.
Quote:

Originally Posted by Banfa

Well this would be a C entry

...

Although I am sure Jos could do better I am a mere amateur at obfuscation compared to him.

I like it. I'm putting it in this thread as well:
Expand|Select|Wrap|Line Numbers
  1. #include <stdio.h>
  2. int main(int O, char *_O[]){static char O0[]=
  3. {0111,0147,0157,0150,0152,0046,0120,0147,0173
  4. ,0146,0157,0055,0007};if(O>sizeof O0)return 0
  5. ;putchar(O0[O-!0]^O);main(O+!0,_O);return 0;}
Reply