Java Quiz

Hmja, das wäre aber kein wirkliches „Alleinstellungsmerkmal“ („float“ wäre der einzige Typ mit 5 Zeichen…). Aber… ganz falsch ist die Richtung nicht :slight_smile:

EDIT: Wobei mir gerade peinlicherweise auffällt, dass die Frage an sich falsch war… :o sie hätte lauten müssen: Was unterscheidet ‚int‘ und ‚char‘ von allen anderen primitiven Datentypen? Hab’s mal korrigiert, schade, dadurch geht einiges an Reiz verloren, aber naja…

Ich tippe auf ["", "a", "b", "c"], bin aber gerade zu faul, um es auszuprobieren.

Die einzigen primitiven Typen mit nur einem Vokal im Wort?

[QUOTE=faetzminator]Ich tippe auf ["", "a", "b", "c"], bin aber gerade zu faul, um es auszuprobieren.[/QUOTE]Ist korrekt. Ich war gerade zu faul zum raten :smiley:

int & char:
Sie sind Abkürzungen! Alle anderen primitiven Typen sind ausgeschrieben:
boolean
byte
double
float
long
short

Ich denke, das letzte ist im Primzip gleichbedeutend, mit dem, was ich meinte: Bei diesen Typen sind die Namen der entsprechenden boxed Types andere, nämlich eben nicht “Int” und “Char” sondern “Integer” und “Character”.

:slight_smile: Mir fällt gerade keine neue Aufgabe ein. Wenn wer was hat, kann er es gerne posten.

Unterscheiden sich diese Ausgaben?

for(int i = 0; i<10;++i) System.out.println(i);```


:
[spoiler]ok, der ist einfach...[/spoiler]


bye
TT

Nein, kein Unterschied.

Okay, jetzt hab ich eine: Gesucht wird die kompakteste Implementierung (am wenigsten code) für die Methode public boolean isPrime(int v)

Ist auch nicht schwer, aber vielleicht lerne ich noch was ;).

[QUOTE=Natac]Okay, jetzt hab ich eine: Gesucht wird die kompakteste Implementierung (am wenigsten code) für die Methode public boolean isPrime(int v)Ist auch nicht schwer, aber vielleicht lerne ich noch was ;).[/QUOTE]Ich gehe mal davon aus, dass die Länge der Variablennamen nicht gewertet wird:private boolean isPrime(int possiblePrime) { for(int i = possiblePrime/2;i>1;i--) if(0==possiblePrime%i)return false; return true; }Ist nicht effektiv aber kurz…
bye
TT

Fast… Deine Funktion ist falsch für Zahlen < 2. Und es geht auch noch etwas kürzer.

Da kannst du aber noch das /2 weglassen. Dann dauert es halt doppelt so lang, falls die Zahl prim ist :wink:

Edit: @Natac : meintest du das /2 mit dem noch kürzer? Denn einen trivialeren Ansatz kann ich mir gar nicht mehr vorstellen…

Ja, was auch immer “kompakt” heißt, hier sind mal 52 bytes

public static boolean isPrime(int v)
{
    for(int i=2;i<v;i++)if(v%i==0)return i<0;return v>1;
}

[QUOTE=cmrudolph]Edit: @Natac : meintest du das /2 mit dem noch kürzer? Denn einen trivialeren Ansatz kann ich mir gar nicht mehr vorstellen…[/QUOTE]Das es hier wirklich um die „allerkürzeste“ Version geht da auch noch etwas mehr. :wink: (Wobei das wirklich pingelig ist)

@Marco13 kompakt = am wenigsten Code. Dachte mir schon, dass es da Interpretationsspielraum geben wird, darum habe ich es ja dazu geschrieben. Da können noch mindestens 3 byte weg. Aber ich würde sagen du bist nahe dran. :slight_smile:

private boolean isPrime(int v){int i;for(i=2;i<v&&v%i!=0;i++);return i==v;}
:o)
43 Bytes.

43, ja, das zweite reeeettuuuurrrrnnnn hat mich gekillt :frowning:

@Timothy_Truckle : Effektiv != Effizient

int i;for(i=1;++i<v&&v%i!=0;);return i==v;

42 - DA kommt das her!!! :smiley:

EDIT: Doch nicht: 41
int i=1;for(;++i<v&&v%i!=0;);return i==v;

Hat ein bisschen was vom Obfuscated Perl Contest :wink:
Falls meins die kürzeste Version bleiben sollte, kann gern jemand anders noch ein Rätsel posten, atm hab ich keines auf Lager.

Auch bei cmrudolph sehe ich zwar noch optimierungs-potenzial, aber Marco hats! The winner is Marco13

EDIT: Verdammt, seid ihr schnell. Hab Jetzt nichts mehr, wer will kann was neues posten.
EDIT 2: He he, ich kann schneller editieren, also du tippen… :stuck_out_tongue_winking_eye:

Siehe mein EDIT oben, und DOCH wir kloppen uns um 1 byte - worum denn sonst, wo sind wir denn hier, etwa nicht auf byte-welt.net?! :grr: :smiley:

EDIT: 40, war eigentlich nahe liegend…
int i=1;for(;++i<v&v%i!=0;);return i==v;

Aber da kannst du die Laufzeit noch „optimieren“, indem du int i=2; machst :wink:

Vielleicht macht Marco13 jetzt ja die Frage nach der effizientesten Implementierung auf!? ;p