Schrift
[thread]6406[/thread]

RDW #2 - Rätsel der Woche Nr. 2 (Seite 10)

Tags: Ähnliche Threads

Leser: 1


<< |< 1 ... 7 8 9 10 11 12 13 ... 16 >| >> 156 Einträge, 16 Seiten
Taulmarill
 2004-07-19 15:48
#84471 #84471
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
@betterworld: also, ich als mathe/informatik nicht-student frage mich, wie man auf so eine lösung kommt.
ich meine, ich hab den algorythmus nachvollzogen und verstanden, aber wie findet man so einen ansatz? muss man das einfach schon mal gesehen haben, oder sich mehr mit bitmasken beschäftigen, oder was?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
DS
 2004-07-19 15:51
#84472 #84472
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
[quote=betterworld,19.07.2004, 13:28]Mit newline waeren es 55. Respekt... Da sitze ich Naechte lang und bastle es auf 57 runter, und Du schaffst es in 2 Minuten, noch 2 weitere Zeichen zu entfernen[/quote]
Ich hab' ja bei meiner Lösung abgeschaut, und dafür hab ich ja auch entsprechend gebraucht... was mich ärgert ist, dass ich auf das (@x=@ARGV) nicht gekommen bin, hatte eine Lösung mit @a=@ARGV; vorne dran, aber das verändert an der Länge überhaupt nichts bei 3 Vorkommen von @ARGV...
betterworld
 2004-07-19 15:54
#84473 #84473
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=DS,19.07.2004, 13:51]was mich ärgert ist, dass ich auf das (@x=@ARGV) nicht gekommen bin, hatte eine Lösung mit @a=@ARGV; vorne dran, aber das verändert an der Länge überhaupt nichts bei 3 Vorkommen von @ARGV...[/quote]
Ja, darauf bin ich auch erst sehr spaet gekommen. Zuerst hatte ich es auch am Anfang versucht, wie Du.

Das Dumme be diesem Algorithmus ist ja, dass man wohl kaum drum herum kommt, drei mal ARGV zu schreiben. Da lohnt sich dieses Konstrukt auch erst.
Taulmarill
 2004-07-19 15:57
#84474 #84474
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
wenn man sort nicht benutzt sollte man auf jeden fall @a, $a benutzen, das ist eine interne variable und funktioniert desshalb auch unter use strict; ohne my. $x bzw @x müsste man erst mit my initialisieren.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
> perl -s -e'print"{@a[grep$a&2**$_,0..@a]}"while$a++<2**(@a=qw/0 1 2/)'
{0}{1}{0 1}{2}{0 2}{1 2}{0 1 2}{}

> perl -Mstrict -e'print"{@x[grep$x&2**$_,0..@x]}"while$x++<2**(@x=qw/0 1 2/)'
Global symbol "@x" requires explicit package name at -e line 1.
Global symbol "$x" requires explicit package name at -e line 1.
Global symbol "@x" requires explicit package name at -e line 1.
Global symbol "$x" requires explicit package name at -e line 1.
Global symbol "@x" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
DS
 2004-07-19 16:03
#84475 #84475
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
@Taulmarill: @a ist doch wohl keine "interne Variable"...
Taulmarill
 2004-07-19 16:24
#84476 #84476
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
naja, mann muss sie nicht per use strict; initialisieren.
ich lasse mich gerne verbessern, aber imho wird intern nicht $a sonder *a initialisiert. mal schauen ob ich diese vermutung irgendwo per perldoc bestätigen kann.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
DS
 2004-07-19 16:33
#84477 #84477
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
[quote=Taulmarill,19.07.2004, 13:48]@betterworld: also, ich als mathe/informatik nicht-student frage mich, wie man auf so eine lösung kommt.
ich meine, ich hab den algorythmus nachvollzogen und verstanden, aber wie findet man so einen ansatz? muss man das einfach schon mal gesehen haben, oder sich mehr mit bitmasken beschäftigen, oder was?[/quote]
Bei mir war der Ausgangspunkt die Anzahl der Lösungen: 2^N. Die Überlegung war, wie man von der jeweiligen Zahl zwischen 1 und 2^N bzw. 0 und 2^N-1 auf die entsprechenden Elemente kommt, die man aus der Ausgangsmenge herauspicken muss... von da aus ist es dann nicht mehr weit bis zum Binär-System... der Rest ist dann noch ein wenig Rumprobiererei mit den binären Operatoren, in dem Fall &, da ich sowas eigentlich noch nie gemacht habe, und fertig is' es...

P.S.: Bin übrigens weder Student (zumindest bis Oktober noch nicht), noch hab' ich das schon mal gesehen oder mich mit Bitmasken beschäftigt... ;)\n\n

<!--EDIT|DS|1090240709-->
DS
 2004-07-19 16:35
#84478 #84478
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
[quote=Taulmarill,19.07.2004, 14:24]naja, mann muss sie nicht per use strict; initialisieren.
ich lasse mich gerne verbessern, aber imho wird intern nicht $a sonder *a initialisiert. mal schauen ob ich diese vermutung irgendwo per perldoc bestätigen kann.[/quote]
Code: (dl )
1
2
3
>perl -Mstrict -e "print @a"
Global symbol "@a" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.

Mit $a geht's...
pq
 2004-07-19 16:41
#84479 #84479
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Taulmarill,19.07.2004, 14:24]naja, mann muss sie nicht per use strict; initialisieren.
[/quote]
hmm, frau schon... bei mir schlägt strict jedenfalls alarm
=)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2004-07-19 16:47
#84480 #84480
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hey cool, es scheint ein "Männer"- und ein "Frauen"-Perl zu geben... Was sind da die Unterschiede?? *fg*

<vorurteilsmodus>
Mit dem Frauen-Perl kann man bestimmt mit wenigen Befehlen neue Putzmittel bestellen...
mit dem Männer-Perl kann man den Fernseher bedienen und noch Chips und Bier bestellen!
</vorurteilsmodus> :p
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 ... 7 8 9 10 11 12 13 ... 16 >| >> 156 Einträge, 16 Seiten



View all threads created 2004-07-16 12:08.