Und die PHP-Version benötigt nur ein zusätzliches Dollarzeichen
function istGerade($int){ return ($int % 2 == 0);
}
Heutzutage kann ich davon ausgehen, dass die meisten Webentwickler eine JavaScript-Bibliothek wie jQuery oder ähnliches verwenden. Diese Bibliotheken haben integrierte Funktionen wie isEven.
Für diejenigen, die solche Bibliotheken nicht verwenden: Toller Schnipsel ;)
Ich bin auf http://rindovincent.blogspot.com/p/javascript.html gestoßen, wo ein einfaches JavaScript-Programm gab, um festzustellen, ob die Zahl gerade oder ungerade ist. Ich füge den gleichen Code mit Erlaubnis hier ein.
var n = prompt("Geben Sie eine Zahl ein, um gerade oder ungerade zu finden", "Geben Sie hier Ihre Zahl ein"); n = parseInt(n); if (isNaN(n))
{ alert("Bitte geben Sie eine Zahl ein");
} else if (n == 0)
{ alert("Die Zahl ist Null");
} else if (n % 2)
{ alert("Die Zahl ist ungerade");
} else
{ alert("Die Zahl ist gerade");
}
Es sind nur 10 Jahre vergangen, aber ich bin jetzt darauf „gestoßen“...
Ja Pj, das ist das Beste und Eleganteste.
Wie marwils bereits schrieb, ist es eine bitweise AND-Operation. Das bedeutet, Sie prüfen nur, ob das rechteste (*) Bit des rechtesten Bytes der Zahl (**) gesetzt ist. Wenn ja, ist es ungerade, andernfalls ist es gerade.
Ich habe das Gefühl, dass die meisten heutigen Programmierer das Konzept eines „Bits“ nicht kennen, sie beschäftigen sich nur mit Objekten und Vererbung. Das ist in Ordnung, kein Zweifel, aber vergessen wir nicht die Grundlagen, die Bits :-)
(*) Rechteste, linkeste, erste, letzte: Alles hängt davon ab, wie Sie ein Byte visualisieren und/oder wie es im Prozessor implementiert ist. (**) Dasselbe gilt für Zahlen > 255, sie benötigen mehr als 1 Byte.
Ich habe gelesen, dass der == Vergleich gefährlich ist, da er eine Typumwandlung für Vergleiche durchführt, daher ist es eine bessere Praxis, === zu verwenden, was true zurückgibt, wenn beide Seiten wirklich identisch sind.
Im Allgemeinen ist es am besten, === zu verwenden, aber in diesem Beispiel gibt value % 2 garantiert eine Ganzzahl oder NaN zurück, was uns erlaubt, den Typ der Variablen, die auf beiden Seiten von num % 2 oder 0 verglichen werden, absolut zu kennen, aber nicht num selbst.
Das Problem entsteht, wenn Sie versehentlich false oder true als Eingabe erhalten, was bei Verwendung des %-Operators lose in eine 0 oder 1 umgewandelt wird. Dies kann zu Problemen in Ihrem Code führen, wenn falsetrue zurückgibt. Normalerweise würden Sie einen Gleichheitsoperator (===) verwenden, um diesen Vergleich durchzuführen, aber da der boolesche Wert bei dem %-Operator in eine Zahl umgewandelt wird, funktioniert die Gleichheit hier nicht, da die meisten die Funktion so getippt haben.
Angesichts der unbekannten Natur der Verwendung dieser Funktion und ihres Namens würde ich sagen, dass Folgendes sicher zu verwenden ist
function isEven(num) {
return isNaN(num) && num !== false && num !== true ? false : num % 2 == 0;
}
oder für diejenigen, die lesbaren Code mögen
function isEven(num) {
if(num !== false && num !== true && !isNaN(num)) {
return num % 2 == 0;
} else return false;
}
Außerdem ist == schneller als ===, also wenn man weiß, was man tut, ist es schneller zu verwenden das ==, wenn anwendbar, aber wenn Sie sich nicht sicher sind, verwenden Sie ===
Es gibt tatsächlich zahlreiche Möglichkeiten, dies zu tun, abgesehen von den beiden, die Sie aufgelistet haben. Überraschenderweise scheint der schnellste Weg der Modulo % Operator zu sein, der sogar den bitweisen Ampersand & übertrifft, wie folgt
if (x % 2 == 0)
total += 1; //even number
else
total -= 1; //odd number
Sortiere Array-Elemente, mit geraden Zahlen zuerst, gefolgt von ungeraden Zahlen. (document.write und Eingabe des Wertes mit Prompt)(Javascript) Bitte hilf mir..
Nur eine kurze Nachverfolgung: Möglicherweise benötigen Sie auch etwas wie Babel (https://babeljs.io/), wenn Ihr System ES6 nicht unterstützt. Danke! Ein
Die drei Gleichheitszeichen === sind ein „strikter“ Vergleichsoperator. Er prüft, ob die Inhalte auf beiden Seiten gleich sind. Wenn ja, gibt er true zurück; wenn nicht, dann false. In diesem Fall ist 2 nicht dasselbe wie 3, daher gibt er false zurück.
Warum nicht einfach
function istGerade(wert) {
return (wert % 2 == 0);
}
Das Drucken, ob es gerade oder ungerade ist, ist gleichermaßen wichtig...!!! Aber die Logik ist ziemlich gut.. süß und einfach..!!
Und die PHP-Version benötigt nur ein zusätzliches Dollarzeichen
function istGerade($int){
return ($int % 2 == 0);
}
Heutzutage kann ich davon ausgehen, dass die meisten Webentwickler eine JavaScript-Bibliothek wie jQuery oder ähnliches verwenden. Diese Bibliotheken haben integrierte Funktionen wie isEven.
Für diejenigen, die solche Bibliotheken nicht verwenden: Toller Schnipsel ;)
Ich bin auf http://rindovincent.blogspot.com/p/javascript.html gestoßen, wo ein einfaches JavaScript-Programm gab, um festzustellen, ob die Zahl gerade oder ungerade ist. Ich füge den gleichen Code mit Erlaubnis hier ein.
var n = prompt("Geben Sie eine Zahl ein, um gerade oder ungerade zu finden", "Geben Sie hier Ihre Zahl ein");
n = parseInt(n);
if (isNaN(n))
{
alert("Bitte geben Sie eine Zahl ein");
}
else if (n == 0)
{
alert("Die Zahl ist Null");
}
else if (n % 2)
{
alert("Die Zahl ist ungerade");
}
else
{
alert("Die Zahl ist gerade");
}
Vielen, vielen Dank..sehr hilfreich
:D
gute Syntax
function istGerade(wert)
{
return /^\d+$/.test(wert.toString()) ? (wert % 2 === 0 ? true : false ) : false;
};
//Also, ich bin dran =)
function istGerade(wert){
return isFinite(+wert) && !(+wert % 2)
}
function istUngerade(n){
return 1&n;
}
Gewinne ich?
Ja, du gewinnst
Das ist die gute. Aber was bedeutet 1&n? Können Sie das bitte erklären?
Es ist eine bitweise AND-Operation.
Siehe: https://en.wikipedia.org/wiki/Bitwise_operation#AND
Das Ergebnis von 1&n ist immer 1, wenn n eine ungerade Zahl ist.
Es sind nur 10 Jahre vergangen, aber ich bin jetzt darauf „gestoßen“...
Ja Pj, das ist das Beste und Eleganteste.
Wie marwils bereits schrieb, ist es eine bitweise AND-Operation.
Das bedeutet, Sie prüfen nur, ob das rechteste (*) Bit des rechtesten Bytes der Zahl (**) gesetzt ist. Wenn ja, ist es ungerade, andernfalls ist es gerade.
Ich habe das Gefühl, dass die meisten heutigen Programmierer das Konzept eines „Bits“ nicht kennen, sie beschäftigen sich nur mit Objekten und Vererbung. Das ist in Ordnung, kein Zweifel, aber vergessen wir nicht die Grundlagen, die Bits :-)
(*) Rechteste, linkeste, erste, letzte: Alles hängt davon ab, wie Sie ein Byte visualisieren und/oder wie es im Prozessor implementiert ist.
(**) Dasselbe gilt für Zahlen > 255, sie benötigen mehr als 1 Byte.
start
lies n
rest=n/2
if (rest=0)
drucke "Zahl ist gerade"
else
drucke "Zahl ist ungerade"
stopp
Ich habe gelesen, dass der == Vergleich gefährlich ist, da er eine Typumwandlung für Vergleiche durchführt, daher ist es eine bessere Praxis, === zu verwenden, was true zurückgibt, wenn beide Seiten wirklich identisch sind.
Im Allgemeinen ist es am besten,
===zu verwenden, aber in diesem Beispiel gibtvalue % 2garantiert eine Ganzzahl oderNaNzurück, was uns erlaubt, den Typ der Variablen, die auf beiden Seiten vonnum % 2oder0verglichen werden, absolut zu kennen, aber nichtnumselbst.Das Problem entsteht, wenn Sie versehentlich
falseodertrueals Eingabe erhalten, was bei Verwendung des%-Operators lose in eine0oder1umgewandelt wird. Dies kann zu Problemen in Ihrem Code führen, wennfalsetruezurückgibt. Normalerweise würden Sie einen Gleichheitsoperator (===) verwenden, um diesen Vergleich durchzuführen, aber da der boolesche Wert bei dem%-Operator in eine Zahl umgewandelt wird, funktioniert die Gleichheit hier nicht, da die meisten die Funktion so getippt haben.Angesichts der unbekannten Natur der Verwendung dieser Funktion und ihres Namens würde ich sagen, dass Folgendes sicher zu verwenden ist
oder für diejenigen, die lesbaren Code mögen
@Evan hat es genau richtig getroffen
Außerdem ist == schneller als ===, also wenn man weiß, was man tut, ist es schneller zu verwenden
das ==, wenn anwendbar, aber wenn Sie sich nicht sicher sind, verwenden Sie ===
Beste Grüße
include<stdio.h>
include<conio.h>
main()
{
int n;
clrscr();
printf("Geben Sie eine Zahl ein:\n");
scanf("%d",&n);
if(n%2==0)
{
printf("Gerade Zahl");
}
else
{
printf("Ungerade Zahl");
}
getch();
}
Hey
Ich habe mich nur gefragt
Was macht die Gleichung "(n % 2 == 0)" eigentlich?
Ungerade und gerade Syntax
Ungerade Syntax ist
Mit der geraden Funktion...
Und was ist, wenn der "Wert" keine Zahl in Basis 10 ist?
function isEven(value) { value.toString(10)%2==0?true:false; }var a;
var b="UNGERADE";
var c="GERADE";
a=parseInt(window.prompt("Geben Sie den Wert ein:"));
document.write("Ihr Wert ist: ",chk(a));
function chk(a)
{
if (a%2==0)
return c;
else
return b;
}
function istGerade(wert) {
return !x%2;
}
Hier ist ein Blogartikel, der eine ganze Reihe von Methoden zum Testen auf gerade oder ungerade Zahlen vergleicht
http://blogs.davelozinski.com/curiousconsultant/csharp-net-fastest-way-to-check-if-a-number-is-odd-or-even
Es gibt tatsächlich zahlreiche Möglichkeiten, dies zu tun, abgesehen von den beiden, die Sie aufgelistet haben. Überraschenderweise scheint der schnellste Weg der Modulo % Operator zu sein, der sogar den bitweisen Ampersand & übertrifft, wie folgt
if (x % 2 == 0) total += 1; //even number else total -= 1; //odd numberAuf jeden Fall lesenswert für Neugierige.
Wie schreibe ich eine Funktion, die eine Zahl nimmt und true oder false zurückgibt, wenn der Wert sowohl größer als Null als auch ungerade ist?
Oder wir können den bitweisen AND-Operator verwenden.
function ungeradeOderGerade(x) {
return ( x & 1 ) ? "ungerade" : "gerade";
}
Sortiere Array-Elemente, mit geraden Zahlen zuerst, gefolgt von ungeraden Zahlen. (document.write und Eingabe des Wertes mit Prompt)(Javascript) Bitte hilf mir..
Ich benutze Modulo oft... in BED zum Beispiel, um den Fortschritt zu protokollieren
if (0 === verarbeitet % 1000) {
sprintf("%s Datensätze verarbeitet", verarbeitet)
}
7 einfache Wege, um festzustellen, ob eine Zahl gerade/ungerade ist.
http://www.waytosmart.com/tutorials/c-programming/c-program-to-check-odd-or-even-number-easy-ways.php
Wo soll ich diesen Code eingeben und wo sehe ich, ob eine Zahl ungerade ist? Bitte sagt es mir, Leute
Hallo @mahnoor,
Dieser Schnipsel würde in jede JavaScript-Datei eingefügt, die Sie auf der Website bereitstellen.
Prost!
Oder Sie könnten so etwas tun....
Nur eine kurze Nachverfolgung: Möglicherweise benötigen Sie auch etwas wie Babel (https://babeljs.io/), wenn Ihr System ES6 nicht unterstützt. Danke! Ein
Sie könnten dies sogar noch mehr kürzen, indem Sie etwas tun wie
// Ändern Sie den Wert von
number, um Ihren Code zu testen//Wenn die Zahl 1 ist, sollte "ungerade" in der Konsole ausgegeben werden.
//Wenn die Zahl 2 ist, sollte "gerade" in der Konsole ausgegeben werden.
var number = 2;
if (number % 2 === 1) {
console.log("ungerade")
} else{
console.log("gerade");
}
Könnte mir jemand erklären, was 2===0 bedeutet oder wie es funktioniert?
Die drei Gleichheitszeichen
===sind ein „strikter“ Vergleichsoperator. Er prüft, ob die Inhalte auf beiden Seiten gleich sind. Wenn ja, gibt er true zurück; wenn nicht, dann false. In diesem Fall ist 2 nicht dasselbe wie 3, daher gibt er false zurück.