Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » teilerfremd und co...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]
010
10.11.2004, 15:23 Uhr
NemoEimi



Huhu,

mir war grade fad, da habe ich jetzt auch mal golfen probiert. Auf Anhieb komme ich zwischen den Klammern auf 79 Zeichen, davon 10 im Returnstatement und 19 in Variablendeklarationen... irgendwelche allgemeinen Tips, wie man diese beiden Teile kleiner kriegt?

Grüße,
Nemo

Dieser Post wurde am 10.11.2004 um 15:24 Uhr von NemoEimi editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
10.11.2004, 15:35 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Kürzere Variablennamen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
10.11.2004, 15:42 Uhr
kronos
Quotenfisch
(Operator)


Mühsam ernährt sich das C-Hörnchen:
72 Zeichen zwischen den Klammern.
edit: 69, und damit genug für heute
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 10.11.2004 um 15:47 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
10.11.2004, 18:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hm also spontan komm ich da nicht weiter runter..


C++:
size_t phi(size_t x){int a,b,i,r=0;for(i=x;--i;r+=a==1)for(a=x,b=i;a-b;a>b?a-=b:b-=a);return r;}



an sonsten ein wenig versändlicher so

C++:
size_t gcd(size_t a, size_t b){return b?gcd(b,a%b):a;}
size_t phi(size_t x){int i,r=0;for(i=x;--i;r+=gcd(x,i)==1);return r;}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
10.11.2004, 19:32 Uhr
Bruder Leif
dances with systems
(Operator)



Zitat von Windalf:
hm also spontan komm ich da nicht weiter runter..


Ich bin im Moment hier festgefahren:


C++:
size_t phi(size_t n)
{
size_t x=0,y=n*n,a;while(++x<n){for(a=1;++a<n;)if(n%a+x%a==0)a=n;y-=a;}return--y;
}


--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
10.11.2004, 19:41 Uhr
Bruder Leif
dances with systems
(Operator)


Nebenbei @Windalf: Dein Code läßt sich bei mir nicht compilieren. Erst, wenn ich a-=b und b-=a in Klammern setze. Und Du verwendest int statt size_t in der Funktion. Und schwupps sind wir beide auf 81 in den Klammern
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
10.11.2004, 19:42 Uhr
NemoEimi



Hier ist mal meins:


C++:
size_t phi(size_t n) {size_t m=1,p=1,k=2;while(n>1)if(n%k==0){p*=m;n/=k;m=k;}else m=k++;return p;}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
10.11.2004, 19:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


na also das hier

C++:
if(n%a+x%a==0)a=n;


besser so

C++:
n%a+x%a?0:a=n;


und dein y-=a; kannst du in die forschleife packen und sparst noch nen semikolon
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
10.11.2004, 19:46 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Nebenbei @Windalf: Dein Code läßt sich bei mir nicht compilieren. Erst, wenn ich a-=b und b-=a in Klammern setze. Und Du verwendest int statt size_t in der Funktion. Und schwupps sind wir beide auf 81 in den Klammern


ich hab nix davon gesagt das du innerhalb der funktion size_t verwenden musst und zum anderen funzt das bei mir... was hast du den wieder für einen abgef**kten kompiler?...

aber anscheinend ist mir diesmal endlich wieder ein rätsel mit höherer beteiligung gelungen...
mal gucken was kronos auf der pfanne hat, hat 69 komm ich jedenfalls nicht ran
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
10.11.2004, 20:09 Uhr
Bruder Leif
dances with systems
(Operator)


Tja, ich Visual C++ 2003 - nix gcc. Und der erlaubt Ausdrücke wie x?a=b:c=d nur als x?(a=b):(c=d). Und schon ist der Platzvorteil dahin... und y-=a darf ich nicht in die Schleife packen, weil die evtl. durch a=n abgebrochen wird. Sch... Ansatz, sch... Compiler...

Na gut, mit

C++:
size_t phi(size_t n){int x=0,y=n*n,a;while(++x<n){for(a=1;++a<n;)n%a+x%a?0:(a=n);y-=a;}return--y;}


bin ich auf 76...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.

Dieser Post wurde am 10.11.2004 um 20:12 Uhr von Bruder Leif editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: