2017-07-06 8 views
1
var number = prompt('Input a number!'); 
var n = number; 
    function getList() { 


for (var n = 1; n <= 17; n++) { 


    if (n % 3 == 0 || n % 5 == 0) 
    console.log (n); 
    } 
} 


console.log(getList()); 
console.log((n*(n+1))/2); 

//equation for summation: (n*(n+1))/2 

Ich versuche, die Summe der Zahlen durch 3 oder 5 bis 17 teilbar zurückzugeben. Bis jetzt funktioniert es halb; Es listet alle Zahlen auf, aber ich finde keine Möglichkeit, die Summe zurückzugeben.Javascript - Funktionen und Gleichungen Verwirrung

Ich habe die Gleichung für die Summierung, aber ich kann keinen Weg finden, um es zu setzen, so dass es funktioniert. Wie erhalten Sie die Gleichung, um auf die Liste zu verweisen, anstatt auf die eingegebene Zahl zu verweisen?

Die Antwort soll 60 sein. Irgendwelche Anhaltspunkte? Vielen Dank!

+0

Nur schreibt eine for-Schleife teilbar ist, um die Summe zu berechnen! – Nisarg

+0

Antwort ist 60 für welche Eingabe? –

Antwort

0

Zwei Dinge:

  1. Rückkehr einfach die Summe aus Ihrer getList Funktion

  2. Stellen Sie sicher, Ihre prompte Eingabe in Integer umgewandelt sonst wird es als String behandelt werden und Ihre n*(n+1)/2 wird

var number = parseInt(prompt('Input a number!')); 
 
var n = number; 
 

 
function getList() { 
 
    var sum = 0; 
 
    
 
    for (var n = 1; n <= 17; n++) { 
 
    if (n % 3 == 0 || n % 5 == 0) { 
 
     console.log (n); 
 
     sum += n; 
 
    } 
 
    } 
 
    
 
    return sum; 
 
} 
 

 

 
console.log(getList()); 
 
console.log(n, (n*(n+1))/2);
falsch

1

var sum = 0; 
 
for (var n = 1; n <= 17; n++) { 
 
    if (n % 3 === 0 || n % 5 === 0) 
 
    sum += n; 
 
} 
 

 
console.log(sum);

1

eine Variable verwenden, die Zahlen und bringt sie nach der for-Schleife hinzuzufügen.

Darunter das Beispiel.

function getList() { 
 
    var sum = 0; 
 

 
    for (var n = 1; n <= 17; n++) { 
 
    if (n % 3 == 0 || n % 5 == 0) { 
 
     sum += n; 
 
    } 
 
    } 
 
    
 
    return sum; 
 
} 
 

 

 
console.log(getList());

+1

Dies ist bei weitem die beste Lösung, wie das OP fragte * Wie die Summe * zurückgeben. Verwenden Sie dann die Anweisung 'return'. –

0

Wenn Sie eine Gleichung :)

function sumOfNumbersDivisibleBy3Or5(n) { 
 
    const by3 = Math.floor(n/3), 
 
     by5 = Math.floor(n/5), 
 
     by3And5 = Math.floor(n/3/5); 
 

 
    return 3*by3*(by3+1)/2 + 5*by5*(by5 + 1)/2 - 3*5*by3And5*(by3And5 + 1)/2 
 
} 
 

 
console.log(sumOfNumbersDivisibleBy3Or5(17))

0

var number = prompt('Input a number!'); 
 
function getList() { 
 
    var sum = 0; 
 
    for (var n = 1; n <= number; n++) { 
 
    if (n % 3 == 0 || n % 5 == 0) 
 
    sum+=n; 
 
    } 
 
    return sum; 
 
} 
 
console.log(getList());

es Summe der ganzen Zahl zurück, die von 3 oder 5 in zwischen 1 und eingegebene Nummer