Do kompletu przykładów programów bez średników brakuje nam już tylko C#. C++ jest, Java jest, teraz czas na język Microsoftu ;)
Jeżeli ktoś nie zna jeszcze gry w "bum" niech zajrzy do tego posta:
http://wojtek-m.blogspot.com/2010/03/program-w-cc-bez-uzycia-srednikow.html.
Oryginalny program w C# grający w tą grę od 1 do 100 wygląda tak:
using System;
class BumGame
{
public static void Main(string[] args)
{
for (int i = 1; i <= 100; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
Console.WriteLine("BUM");
continue;
}
int j;
for (j = 1; j <= i; j *= 10)
{
int digit = (i / j) % 10;
if (digit == 3 || digit == 5)
{
Console.WriteLine("BUM");
break;
}
}
if (j > i)
{
Console.WriteLine(i);
}
}
}
}
Czas usunąć średniki ;) Maina niestety nie udało mi się usunąć... jeszcze ;)
Pokazywanie postów oznaczonych etykietą obfuskacja. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą obfuskacja. Pokaż wszystkie posty
wtorek, 13 lipca 2010
wtorek, 16 marca 2010
Program w Javie bez main() i średników
Ostatnio padło wyzwanie - napisać program bez użycia funkcji main w Javie. Taki komentarz pojawił się przy okazji programu w C bez średników - http://wojtek-m.blogspot.com/2010/03/program-w-cc-bez-uzycia-srednikow.html ;)
Hm, stwierdziłem że podbije poziom trudności i w Javie też ani jeden średnik nie zagości! Co będzie trudniejsze niż w C, bo Java jest bardziej "uporządkowana".
Oryginalny program (do znanej już gry w "bum" - osoby nie w temacie niech zerkną do powyżej podanego posta):
public class BumGame {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 || i % 5 == 0) {
System.out.println("BUM");
continue;
}
int j;
for (j = 1; j <= i; j *= 10) {
int digit = (i / j) % 10;
if (digit == 3 || digit == 5) {
System.out.println("BUM");
break;
}
}
if (j > i) {
System.out.println(i);
}
}
}
}
Hm, stwierdziłem że podbije poziom trudności i w Javie też ani jeden średnik nie zagości! Co będzie trudniejsze niż w C, bo Java jest bardziej "uporządkowana".
Oryginalny program (do znanej już gry w "bum" - osoby nie w temacie niech zerkną do powyżej podanego posta):
public class BumGame {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 || i % 5 == 0) {
System.out.println("BUM");
continue;
}
int j;
for (j = 1; j <= i; j *= 10) {
int digit = (i / j) % 10;
if (digit == 3 || digit == 5) {
System.out.println("BUM");
break;
}
}
if (j > i) {
System.out.println(i);
}
}
}
}
wtorek, 2 marca 2010
Program w C/C++ bez użycia średników
Czy dostaliście kiedyś zadanie napisać program w C++ (lub C) tak, aby nie użyć ani jednego średnika?
Jak to możliwe? Przecież średnik w prawie każdym języku zajmuje ważne miejsce - a to rozdziela instrukcje (SQL, Pascal, Perl), a to musi kończyć każdą instrukcję (C, C++, C#, Java) - jak więc sobie dać radę bez niego.
Jak zobaczymy - bez problemowo można. Jako przykładowy program-pomocnik do gry w "BUM". Jeżeli ktoś nie zna tej gry (zna ktoś?), to krótki przypomnienie:
1. Grają dwaj gracze. Na przemian mówią kolejne liczby naturalne.
2. Jeżeli gracz ma wypowiedzieć liczbę podzielną przez 3 lub przez 5 to zamiast tej liczby gracz mówi "BUM".
3. Tak samo jeżeli liczba do wypowiedzenia zawiera w sobie cyfrę 3 lub 5 to zamiast tej liczby gracz mówi "BUM".
Jak to możliwe? Przecież średnik w prawie każdym języku zajmuje ważne miejsce - a to rozdziela instrukcje (SQL, Pascal, Perl), a to musi kończyć każdą instrukcję (C, C++, C#, Java) - jak więc sobie dać radę bez niego.
Jak zobaczymy - bez problemowo można. Jako przykładowy program-pomocnik do gry w "BUM". Jeżeli ktoś nie zna tej gry (zna ktoś?), to krótki przypomnienie:
1. Grają dwaj gracze. Na przemian mówią kolejne liczby naturalne.
2. Jeżeli gracz ma wypowiedzieć liczbę podzielną przez 3 lub przez 5 to zamiast tej liczby gracz mówi "BUM".
3. Tak samo jeżeli liczba do wypowiedzenia zawiera w sobie cyfrę 3 lub 5 to zamiast tej liczby gracz mówi "BUM".
wtorek, 19 stycznia 2010
Othello w 1200 bajtach C
Ile można pomieścić w 1200 bajtach kodu C?
Roemer B. Lievaart, startując w 1987 w IOCCC (International Obfuscated C Code Contest) zmieścił cały program grający w Othello (Reversi)!
Roemer B. Lievaart, startując w 1987 w IOCCC (International Obfuscated C Code Contest) zmieścił cały program grający w Othello (Reversi)!
Subskrybuj:
Posty (Atom)