2017-10-25 2 views
0

Ungerade Aufgabe, aber ich muss eine gegebene ganze Zahl nehmen und sie zuerst durch 5 teilen, was auch immer übrig ist, durch 3 dividieren und dann zeigen, was übrig bleibt.Verwenden von jQuery oder JavaScript, um Vielfache und den Rest von 2 Zahlen zu finden

Zum Beispiel:

var fives = 19/5 = 3 remainder 4 
var threes = 4/3 = 1 remainder 1 
var ones = 1 


var fives // 3 
var threes // 1 
var ones // 1 

ich teilen kann und sehen, ob es sich um ein Vielfaches, aber ich bin nicht sicher, wie die bedingte Anweisung tun es durch die zwei Operationen passieren und die Reste jedes Mal verlassen. Die ganzen Zahlen sind immer positive Zahlen, keine Dezimalzahlen.

+0

Wenn Sie wollen „nehmen eine gegebene ganze Zahl, und teile sie zuerst durch 5, was auch immer übrig ist, dividiere durch 3 und zeige dann, was übrig bleibt ", dann würde es ausreichen, nur den Modulo-Operator zu verwenden? dh "19% 5% 3 // ergibt 1"? – CRice

Antwort

1

Um den Rest einer Division zu erhalten, muss man sie teilen, multiplizieren und erneut multiplizieren. Das Ergebnis müssen Sie von Ihrer Startnummer substrieren.

Beispiel:

Remainder of 19/5: 19 - floor(19/5)*5 = 19 - 15 = 4 

in Javascript-Code ist es:

var remainderOf = (a,b)=>a-Math.floor(a/b)*b; 
// calling it: 
var result = remainderOf(19, 5); // 4 

Aber die Arbeitsfolge: divide, Boden, mehrfach Substrat ... als Modulo-Operation bekannt. Und Sie können es in Javascript verwenden, um mit dem % .sign:

var remainderOf = (a,b)=>a%b; 

In Ihrem Fall sollte es sein:

var startingNo = 19; 
var remainderOfDevisionBy5 = startingNo % 5; 
var remainderOfDevisionBy3 = remainderOfDevisionBy5 % 3; 
alert(remainderOfDevisionBy3); 
+0

Danke für die Erklärung alles. Ich bin erleichtert, dass dies keine sehr offensichtliche Antwort war. – mrpatg

+0

@mrpatg Wenn es Ihnen geholfen hat und Sie die Antwort mögen, markieren Sie sie bitte als Antwort, damit ich und der andere Benutzer sehen können, dass diese Frage bereits eine Antwort hat. Wenn Sie weitere Fragen dazu haben, zögern Sie nicht zu fragen :) –

1

Wie wäre es damit:

var number = 19; 

var fives = Math.floor(number/5); 
var threes = Math.floor(number % 5/3); 
var ones = number % 5 % 3; 
+0

Dies funktioniert und ist sehr prägnant. Vielen Dank! – mrpatg

Verwandte Themen