• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Challenge #1: Stwórz NAJKRÓTSZY kod źródłowy w C++ dodający siedem liczb całkowitych!

+112 głosów
8,088 wizyt
pytanie zadane 9 kwietnia 2015 w C i C++ przez Mirosław Zelent Nałogowiec (25,970 p.)

Challenge #1 - Najkrótszy kod w C++

Zadanie polega na wykonaniu w języku C++ programu komputerowego obliczającego sumę siedmiu liczb całkowitych. Zadanie wydaje się banalne, ale tym razem chcemy stworzyć jak najkrótszy kod (w sensie ilości znaków) - jest to zadanie typu challenge! 

Wejście: 
siedem liczb całkowitych z zakresu -1000000..1000000

Wyjście: 
suma podanych liczb

Przykładowy zestaw danych:

Wejście
9 4 -12 78 44 -144 233

Wyjście:
212

Myślę, że wspólnymi siłami dojdziemy do granic skrócenia kodu i stworzymy takie źródło, którego już nie da się bardziej uprościć :) Sprawdź się!

Rozwiązania można przesyłać poniżej
(tak jak podczas Brainfuck challenge: https://youtu.be/dzFgY4JsZe8 będzie to widget scarky.com):

http://scarky.com/widget/getiframe/PKF130TO/width=550&height=500

Nie ma limitu czasowego, challenge pozostaje otwarty dla potomnych :)

Moja rada: kombinuj samodzielnie, nie porównuj się do innych. Staraj się raczej poprawić własny rezultat - podążaj drogą swojego mistrzostwa, potraktuj to zadanie jako challenge dla sprawdzenia swojej determinacji, pomysłowości, umiejętności szukania informacji w sieci - to nie wyścig szczurów, chodzi głównie o rozwój umysłu i cech charakteru. Challenge są fajne właśnie dlatego, że można z tymi problemami powalczyć klika dni, przespać się z nimi, wpaść na rozwiązanie w zupełnie niespodziewanym momencie - to niesamowicie rozwija cierpliwość i zaprawia w bojach :) Code ON! Pozdrawiam!

komentarz 9 października 2016 przez Avernis Nałogowiec (26,620 p.)
edycja 9 października 2016 przez Avernis
​#include <oszukanie.h>

int main()
{
	x //makro
}

 

Chyba wygrałem

38 odpowiedzi

+33 głosów
odpowiedź 9 kwietnia 2015 przez CrookedKnee Gaduła (3,190 p.)

Myślę, że seria takich wyzwań nieźle się przyjmie. Moim zdaniem strzał w dziesiątkę ! Osobiście nie podołam wyzwaniu, ponieważ ledwie co zacząłem zabawę z C++. Chętnie będę śledził starania innych.

Powodzenia ! :)

1
komentarz 10 kwietnia 2015 przez Majk Użytkownik (860 p.)
Tez dopiero zaczynam. Proponuje Ci wyzwanie identyczne jak w propozycji ale z ta różnica ze naszym celem nie będzie maksymalne skrócenie kodu tylko w ogóle jego stworzenie.
+12 głosów
odpowiedź 9 kwietnia 2015 przez Mateusz Dalgiewicz Mądrala (5,290 p.)
przywrócone 9 kwietnia 2015 przez Mateusz Dalgiewicz
no i pykło 65 ! :D
komentarz 14 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Aaa, tej drugiej użyłem, chodzi mi o pierwszą :) Co to za jakieś cuda na kiju? Bo ja w tej chwili robię takie cuda, że głowa boli xD
komentarz 14 kwietnia 2015 przez Patryk Monarcha Nowicjusz (180 p.)

Wystarczy chwilę pomyśleć, by dojść do 60 znaków cheeky

komentarz 14 kwietnia 2015 przez godric Początkujący (340 p.)
A jak troche dłużej się pomyśli to i granice 60 można przekroczyć ;)
komentarz 14 kwietnia 2015 przez Patryk Monarcha Nowicjusz (180 p.)

Dokładniewink

komentarz 14 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Ja myślałem jakieś 3 dni :D
+10 głosów
odpowiedź 9 kwietnia 2015 przez szmq Pasjonat (22,980 p.)
Mam nadzieję, że najkrótszy nie oznacza, że ktoś napisze wszystko w jednej linii.... ma być krótki i czytelny. Chyba że nie trzeba.. jak to jest? biale znaki tez ida?
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Dobre pytania zadajesz. Powiem tak: Twoim jedynym celem jest to skrócić tak bardzo jak się da :D
komentarz 10 kwietnia 2015 przez dariusz Obywatel (1,360 p.)
Szkoda, że main musi int zwracac w tym kompilatorze, moj najlepszy pomysł padł xd
komentarz 10 kwietnia 2015 przez nowyfolder Mądrala (7,250 p.)
Panie Mirosławie, można prosić o jakies info na temat kompilatura używanego w tym zadaniu?
komentarz 11 kwietnia 2015 przez dariusz Obywatel (1,360 p.)
A jednak nie musi ;)
komentarz 11 listopada 2015 przez Bravo555 Gaduła (3,850 p.)
Raczej dowolny :D
komentarz 18 lutego 2016 przez adambalski1 Użytkownik (960 p.)
Też pomyślałem o voidzie
+10 głosów
odpowiedź 10 kwietnia 2015 przez godric Początkujący (340 p.)
edycja 14 kwietnia 2015 przez godric

60, dziękuje, dobranoc smiley

Jak ktoś utnie jeszcze coś to będę miał pare nieprzespanych nocy...

EDIT: No cóż nikt nie zszedł niżej to sam musiałem, 58 :D

komentarz 10 kwietnia 2015 przez daan Pasjonat (17,800 p.)
no to czas zabrać się znowu do pracy XD
komentarz 11 kwietnia 2015 przez Muminek Dyskutant (8,490 p.)
Mógłbys podesłać kod źródłowy? Bardzo ciekawy jestem w jaki sposób można to fajnie stworzyć. Ja mam absolutną pustkę :-)
komentarz 11 kwietnia 2015 przez godric Początkujący (340 p.)
Jeszcze za wcześnie na pokazywanie kodu, może ktoś próbując zejść do 60 znajdzie jakieś inne rozwiązanie którym zejdzie jeszcze niżej?

Chociaż tu już nie ma z czego schodzić dopóki piszemy w c++ :D
komentarz 11 kwietnia 2015 przez daan Pasjonat (17,800 p.)
racja za wcześnie na pokazywanie kodu, nie psujmy zabawy narazie :D a tak btw. nie wiem gdzie ty uciąłeś mi te 2 znaki, ale nie da mi to spokoju dopóki nie zejde do 60 xD
komentarz 15 kwietnia 2015 przez marcin_kub Obywatel (1,390 p.)
Jak Wam się to udało? Ja już nic ze swojego kodu nie mogę uciąć. Co polecacie koledze, żeby z 60 zszedł niżej? Mam pętlę while dodam, choć pętlą for też by się dało zrobić. I w dwóch linijkach, z czego jedna poświęcona na zaimplementowanie biblioteki.
komentarz 15 kwietnia 2015 przez daan Pasjonat (17,800 p.)
A co to za zabawa jak Ci powiemy ? :D tez mam while i 2 linijki ze wzgledu na to ze po bibliotece nie mozna nic wrzucic w tej samej linii :P
komentarz 15 kwietnia 2015 przez godric Początkujący (340 p.)
A ja dla odmiany mam for :P też 2 linijki, mniej się nie da, więcej nie ma potrzeby

daan, widze że nie mogłeś uciąć jednego znaku to uciąłeś dwa i dalej tego jedego ci brakuje ;)
komentarz 15 kwietnia 2015 przez daan Pasjonat (17,800 p.)
no nie moge tego jednego wyhaczyć XD  obstawiam, że te 2 to ucieliśmy w ten sam sposób haha :D ale spoko nie poddaje sie może go kiedyś znajde xD
komentarz 19 kwietnia 2015 przez Adrian1999 Nałogowiec (26,190 p.)
A w jakim kompilatorze to robisz ? Tylko 58 znakow przeciez to niemal niemozliwe :D
komentarz 20 kwietnia 2015 przez godric Początkujący (340 p.)
Nie wiem dokładnie, u siebie nie kompilowałem tego :D To jakaś wcześniejsza wersja gcc, obstawiałbym 4.0-4.2

Jak miałem 71 znaków też myślałem że mniej jest niemal niemożliwe, ale zszedłem do 60 i myślałem że więcej już na prawdę się nie da, a wyszło jak wyszło ;p
+8 głosów
odpowiedź 10 kwietnia 2015 przez szmyt151 Bywalec (2,030 p.)

Mi sie udało 71 znaków  bardzo fajny Challenge #1 prosze o więcej.

Chciałbym poznac kod najlepszego zawodnika.llenge #1: # Stwórz NAJKRÓTSZY kod źródłowy w C++ dodający sChallenge #1: Stwórz NAJKRÓTSZY kod źródłowy w C++ dodający s

komentarz 11 kwietnia 2015 przez szmyt151 Bywalec (2,030 p.)
Nie mam pojecia jak ktoś mógł zrobic 60 znaków. Mindfuck
komentarz 11 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
A ja nie mam pojęcia jak zejść z 73 do 71 znaków :C
komentarz 11 kwietnia 2015 przez szmyt151 Bywalec (2,030 p.)

Teraz mój kod który w wyniku ma 71 to po kompilacji pokazuje sie  "wrong answer"  musieli cos naprawic ale ogólnie bym zszedł do 70 znaków

+6 głosów
odpowiedź 9 kwietnia 2015 przez niezalogowany
Na początku mojej nauki  takie coś = 350 linii

teraz 155 i wciąż skracam, z każdym dniem piszę coraz bardziej "przemyślany" kod, to ćwiczenie pozwoli mi pomyśleć nad lepszą optymalizacją , rozwinie moje abstrakcyjne myślenie :P

Nie mogę być ostatni = chociaż top 100 musi być, więc dam z siebie wszystko. Bardzo ciekawa i ucząca zabawa , pozwala mi "poduczyć" się w optymalizacji kodu, pomyśleć nad innymi sposobami rozwiązania problemu.
+6 głosów
odpowiedź 9 kwietnia 2015 przez MrWeb Stary wyjadacz (10,310 p.)
edycja 10 kwietnia 2015 przez MrWeb

Moja odpowiedź przerodziła się w eksperyment - "na ile pozwoli mi kompilator?"

Bo np, żeby zejść z 75 do 71 znaków złamałem zakaz standardu ISO C++ devil

+6 głosów
odpowiedź 10 kwietnia 2015 przez szmq Pasjonat (22,980 p.)
Kiedy udostępniamy kod? pasuje się czegoś dowiedzieć i poznać metody innych :)
komentarz 10 kwietnia 2015 przez niezalogowany

Też jestem ciekaw tego, jak będą wyglądały kody rekordzistów, dopisuję się do tego pytania wink

komentarz 10 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Na razie niech jeszcze to trochę potrwa :) Ja cały czas myślę :) W ciągu ostatniego dnia zszedłem z 74 do 73 liter - sukces mały ale jest :) Wy też dalej próbujcie :)
+5 głosów
odpowiedź 9 kwietnia 2015 przez krecik1334 Maniak (58,620 p.)
edycja 9 kwietnia 2015 przez krecik1334
Już wysłałem kod, polecam, świetna zabawa! Będę dalej kombinował, aby go skrócić.
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Wciąż jest problem, bo sporo osób ma AC?
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,620 p.)
Skodziłem to w inny sposób, wcześniej dla 7 liczb, teraz do EOF (pętla while ze spoja).
komentarz 9 kwietnia 2015 przez szmq Pasjonat (22,980 p.)
do kiedy trwa chellenge :)
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Nie ma limitu czasowego :)
+5 głosów
odpowiedź 9 kwietnia 2015 przez nowyfolder Mądrala (7,250 p.)
Świetny pomysł. Ciekawe jak długo utrzymam się na prowadzeniu :D
komentarz 9 kwietnia 2015 przez Artix Bywalec (2,120 p.)
Gdzie ty mi zabrałes te 3 znaki .. ^^ nie mam pojęcia ;p..
Dobra juz 10 znakow poddaje sie :D
komentarz 9 kwietnia 2015 przez nowyfolder Mądrala (7,250 p.)
Spokojnie, teraz już 10 :D
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,620 p.)
Ja mam 79, top2 :)
komentarz 9 kwietnia 2015 przez szmq Pasjonat (22,980 p.)
ciekawe jak dlugo urzymam sie na prowadzeniu. 201 ;p
komentarz 9 kwietnia 2015 przez Mateusz Dalgiewicz Mądrala (5,290 p.)
nowyfolder ale mam teraz zagadke z tymi 2 znakami ;d
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,620 p.)
Mi już przy 76 ciężko cokolwiek optymalizować, spróbuję w stylu C.
komentarz 9 kwietnia 2015 przez szmq Pasjonat (22,980 p.)
edycja 9 kwietnia 2015 przez szmq
a to nie trzeba miec jak najwiecej pkt? xd hah ;pp
+5 głosów
odpowiedź 9 kwietnia 2015 przez bossik21 Mądrala (5,690 p.)
Czy to nie jest przypadkiem zadanie challengowe ze SPOJa?
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,620 p.)
Z tego co wiem to tam nie ma dokładnie takiego.
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Zawsze prowadzę takie zawody wśród moich rzeczywistych uczniów w szkole - to fajna zabawa i dość rozwijająca, być może pomysł podłapałem ze spoja - nie pamiętam, bo opracowałem to zadanie już dawno temu. Na pewno jest to możliwe
+5 głosów
odpowiedź 9 kwietnia 2015 przez Tomatosoup Pasjonat (18,540 p.)
Białe znaki się wliczają ?
komentarz 9 kwietnia 2015 przez marqos12 Obywatel (1,820 p.)
chyba tak chociaż pewności nie mam
komentarz 9 kwietnia 2015 przez falauthy Stary wyjadacz (11,570 p.)
Wliczają się - napisałem jednolinijkowca i 12 pkt mniej. :p
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Tak, wliczają się!
+5 głosów
odpowiedź 9 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Super zadanie, zaraz spróbuję się z nim zmierzyć :) Poza tym to super pomysł, niech pan robi częściej takie challenge :)
+5 głosów
odpowiedź 9 kwietnia 2015 przez kubol1997 Obywatel (1,010 p.)
To ma poprostu coutem pokazac tą sumę? Zrobilem program który sumuje zmienne i na koniec wyswietla to coutem(212) i pokazuje mi Wrong answer jak próbuje wyslać odpowiedź.
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Musi tam być jakiś bug widocznie, a może zabrakło endl?
komentarz 9 kwietnia 2015 przez kubol1997 Obywatel (1,010 p.)
nie było endl; ale nawet po dopisaniu jest to samo ;p

tutaj jest kod https://justpaste.it/kfql
komentarz 9 kwietnia 2015 przez marqos12 Obywatel (1,820 p.)
liczby powinny być pobierane za pomocą cin a nei zdeklarowane jako stałe :)
komentarz 9 kwietnia 2015 przez falauthy Stary wyjadacz (11,570 p.)
Nie wiem czy o to chodzi, ale to ma sumować losowe 7 liczb, a nie te dane w przykładzie. :)
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Dokładnie tak - to mogą być dowolne liczby całkowite z podanego przedziału; te siedem podanych to tylko przykład :)
komentarz 9 kwietnia 2015 przez Boshi Szeryf (87,370 p.)
65 znaków? jakim cudem ;D?  skróciłem wszystko co mozliwe, zmienne 1 literowe i wynik grubo powyżej rekordu ;p
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
I tu zaczyna się kombinowanie :) Daj sobie czas, prześpij się z problemem, pogoogluj :)
komentarz 9 kwietnia 2015 przez Boshi Szeryf (87,370 p.)
A co oznacza ten komunikat?  Błąd serwera, poczekać ?

Result: time limit exceeded

 

Myślę, że wykombinuję do 70 znaków spokojnie dziś ^^ fajna zabawa :)
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
To oznacza, że prawdopodobnie stworzyłeś nieskończoną pętlę - program wykonywał się tak długo, że sędzia powiedział "long enough bro" :)
komentarz 9 kwietnia 2015 przez Boshi Szeryf (87,370 p.)
Dziwna sprawa, Code block wykonuje kod :)
+5 głosów
odpowiedź 9 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Ło kurde, taki ze mnie kiep a mam 74 :)
komentarz 9 kwietnia 2015 przez Boshi Szeryf (87,370 p.)
Czy tu wchodzą w grę  operatory bitowe? jeżeli dzieki temu osiągacie wyniki  70-75 to leże przy tym, bo nie mam pojęcia jak  to działa, a jeżeli normalne pętle  czy rekurencja to nie widze opcji aby zejść poniżej 85.
 Chyba, że da się usunąć np dyrektywy preprocesora aby kompilował kod .
komentarz 9 kwietnia 2015 przez MrWeb Stary wyjadacz (10,310 p.)

Nie chcę się tu chwalić kodem bo będzie za łatwo, ale podpowiem Ci, że przynajmnie ja nie używałem żadnych wyszukanych rozwiązań.

Mój kod to dosłownie dwie zmienne, pętla, czynności do spełnienia treści zadania (wink) i koniec.

komentarz 9 kwietnia 2015 przez Boshi Szeryf (87,370 p.)
Heh, ciekawe, bo ja mam 2 zmienne petla while i sumowanie oraz wypisanie wyniku , no nic pokombinuje ;p
+5 głosów
odpowiedź 9 kwietnia 2015 przez hit02 Nałogowiec (34,120 p.)
Czy musi być stabilny?
komentarz 9 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Nie, chodzi tylko o rozwiązanie problemu, czyli kontola błędów nie jest wymagana
+5 głosów
odpowiedź 10 kwietnia 2015 przez daan Pasjonat (17,800 p.)
edycja 10 kwietnia 2015 przez daan

Super inicjatywa oby takich wyzwań było więcej bo to super zabawa ! devil narazie udało się 69 ale tak łatwo się nie poddam laugh EDIT. jest 62 :D ale z tego już więcej nie wycisne raczej złamałem już wszelkie zasady jakie tylko mogłem xD

komentarz 10 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Jak ty żeś to zrobił? Ja od wczoraj myślę jak mój kod z 74 znaków skrócić :)
komentarz 10 kwietnia 2015 przez daan Pasjonat (17,800 p.)
powiem szczerze, że tego kodu np. w visual studio nie da rady skompilować :D także to głównie zasługa tego na co pozwala ten kompilator online :P
komentarz 10 kwietnia 2015 przez Eryk Andrzejewski Szeryf (86,910 p.)
Domyślam się :)

Ale nic nie mogę wymyślić do teraz :D
+5 głosów
odpowiedź 10 kwietnia 2015 przez Yarik199 Nowicjusz (240 p.)
napisalem program na 62 znaki,liczylem znaki tylko w "...." w "main(){......}". czy znaki trzeba liczyc poczynajac od biblioteki?
komentarz 10 kwietnia 2015 przez Mirosław Zelent Nałogowiec (25,970 p.)
Znaki całego kodu się liczą - ale nie musisz tego zliczać samodzielnie, widget zrobi to za Ciebie
+5 głosów
odpowiedź 10 kwietnia 2015 przez Gwynbleidd Początkujący (360 p.)
Pół dnia i urwałem jeszcze 2 znaki ale co dalej? Cały czas myśl jak można skrócić kod jeszcze bardziej powraca do mnie jak bumerang ;) super inicjatywa, może w czasie snu mi wskoczy jakiś pomysł.
+4 głosów
odpowiedź 9 kwietnia 2015 przez Dash Nałogowiec (28,320 p.)
Hm, liczy się łączna ilość znaków, czy tylko te które dostaje kompilator?(psss, ~konspiracyjnie~ preprocesor).

Podobne pytania

+64 głosów
16 odpowiedzi 4,344 wizyt
0 głosów
3 odpowiedzi 2,600 wizyt
pytanie zadane 14 listopada 2015 w C i C++ przez konrad99 Gaduła (3,220 p.)
0 głosów
4 odpowiedzi 1,796 wizyt
...