Wie kann ich in Brainfuck ne Variable durch 2 teilen?
-
für gerade zahlen (ungetestet):
>[-]<[>+<-]>[<+>--]
ups das ist ja das selbe wie phreakings
[ Dieser Beitrag wurde am 20.10.2002 um 17:32 Uhr von japro editiert. ]
[ Dieser Beitrag wurde am 20.10.2002 um 17:33 Uhr von japro editiert. ]
-
Original erstellt von japro:
**für gerade zahlen (ungetestet):
**Es geht mir um die Kalenderaufgabe des buha-coding-contests. hab deswegen gestern mit bf angefangen.
Da muß ich /4 und %7 schaffen für zahlen, die nicht glatte vielfache sind.
Am besten wohl gleich für beliebige Zahlen.
-
Habs geschafft
[->>+>+<<<]>>>[-<<<+>>>]<-<<<[>>>[->+>+<<]>>[-<<+>>]+<[[-]>-<]>[-< +>]<[[-]<<+<[->>+>+<<<]>>>[-<<<+>>>]]<-<<<-]>>[-<<+>>]>[-<<->>]<<-
Und wer den Code haben mag, wie ich ihn geschrieben hab (ist eigentlich eher forth, aber naja, in bf kann man ja nix entwickeln.):
// divisor=5 dividend=2 PUSHZERO result > DUP2 count <[->>+>+<<<]>>>[-<<<+>>>]< DEC count - // divisor=5 dividend=2 result=0 (count=2) tmp go divisor <<< while divisor [ go count >>> DUP1 tmp [->+>+<<]>>[-<<+>>]< NOT tmp >+<[[-]>-<]>[-<+>]< IF tmp [[-] go result << INC result + DUP2 count <[->>+>+<<<]>>>[-<<<+>>>]< go tmp > ENDIF tmp ] go count < DEC count - go divisor <<< DEC divisor - ENDWHILE divisor ] // (divisor=0) dividend=2 result=0 count=? go result >> add to divisor [-<<+>>] go count > sub from dividend [-<<->>] go dividend << DEC dividend -
-
BTW : Wird Brainfuck bei dem Coding-Contest eigentlich akzeptiert?!
-
Original erstellt von Gregor:
BTW : Wird Brainfuck bei dem Coding-Contest eigentlich akzeptiert?!Wenn die sehen, wie viel Mühe ich mir gemacht hab, werden sie's schon akzeptieren, hoff ich.
-
Original erstellt von volkard:
**```
// divisor=5 dividend=2
PUSHZERO result >
DUP2 count <[->>+>+<<<]>>>[-<<<+>>>]<
DEC count -
// divisor=5 dividend=2 result=0 (count=2) tmp
go divisor <<<
while divisor [
go count >>>
DUP1 tmp [->+>+<<]>>[-<<+>>]<
NOT tmp >+<[[-]>-<]>[-<+>]<
IF tmp [[-]
go result <<
INC result +
DUP2 count <[->>+>+<<<]>>>[-<<<+>>>]<
go tmp >
ENDIF tmp ]
go count <
DEC count -
go divisor <<<
DEC divisor -
ENDWHILE divisor ]
// (divisor=0) dividend=2 result=0 count=?
go result >>
add to divisor [-<<+>>]
go count >
sub from dividend [-<<->>]
go dividend <<
DEC dividend -Ahhhhhhhhhhhhh!!!!! IGITT! That really fucks your brain!
-
Keine Sorge, wird akzeptiert, aber ich denke auf die Auflösung wirst du etwas länger warten müssen als normal
-
@volkard: hol dir den bfa.
-
Original erstellt von Mr. N:
@volkard: hol dir den bfa.Das würde doch gegen den "Ehren-Codex" verstoßen!
-
was ist ein ehren-kodex?
ne, mal im ernst: mvr ist doch besser als >
-
Naja, da gehts um die Ehre :D, bei sowas mogelt man doch nicht.
-
mogeln? wolltest du einen mcdonalds simulator in reinem bf schreiben?
-
lol der mc-donalds simulator hat schon was, hab mich beömmelt.
naja, das wäre schon ziemliches gemogle, wenn man so ein prog in einem basic-slang schreiben und das mit dem bfa in ein bf-file umwandeln würde.
-
ich dachte auch dran, mir nen kleinen makrocompiler mit bf-ausgabe zu basteln, bin aber zum schluß gekommen, daß das gar nicht notwendig ist. was wirklich wh tut, ist daß es keine nette ersetzung von arrays gibt (oder ich noch keine fand). aber hier tuts ja auch switch. und dafür hab ich was.
-
es ist vollbracht.
mit kommentaren 20k.
ohne kommentare 7k.
ich hab die kalenderaufgabe in bf gelöst und eingeschickt.
*ganz stolz sei*
-
Das ist ja schon fast einen Preis wert Ich denek mal die fiktive Brainfuck Sonderwertung wirst du damit gewinnen
-
Original erstellt von Doktor Prokt:
Naja, da gehts um die Ehre :D, bei sowas mogelt man doch nicht.mogeln? ich hab mir diesen bfa angeguckt. es ist leichter, wenn man den nicht benutzt.
leider darf ich die lösung noch nicht posten, um zu zeigen, wie leicht.
-
Original erstellt von JoelH:
Das ist ja schon fast einen Preis wert Ich denek mal die fiktive Brainfuck Sonderwertung wirst du damit gewinnenich will ein t-shirt. und das zieh ich dann an, wenn es mal zu nem board-treffen kommt.
-
Die shirts wurden sogar signiert und sind damit unikate, am Do. bekomm ich die Bilder Mal sehen wie sie sind.
-
mein werk darf nun gezeigt werden. *g*
http://buhaboard.net/showthread.php?s=&threadid=33402