• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Pętla for sumująca liczby

Object Storage Arubacloud
0 głosów
978 wizyt
pytanie zadane 20 listopada 2017 w JavaScript przez ilendil Początkujący (250 p.)
zamknięte 20 listopada 2017 przez ilendil

Mam utworzyć zmienną n=5 a następnie w pętli for wypisać liczby od 0 do n. 

var n = 5;
for (var i = 0; i < n; i++) {
    n += i;
}
console.log(n);

Ten kod oczywiście nie działa. Pętla chyba iteruje bez końca bo zawiesza przeglądarkę. 

Gdzie jest błąd??

komentarz zamknięcia: Problem rozwiązany.

3 odpowiedzi

0 głosów
odpowiedź 20 listopada 2017 przez Sisa Bywalec (2,580 p.)
wybrane 20 listopada 2017 przez ilendil
 
Najlepsza
Zwiększasz wartość n (n+=i), a w warunku masz że pętla ma się zakończyć kiedy i = n, więc pętla leci w nieskończoność bo ciągle zwiększasz n (n+=i). Daj zmienna suma, która będzie przechowywać te liczby (suma+=i).
0 głosów
odpowiedź 20 listopada 2017 przez damianeqe Gaduła (4,380 p.)

o ile dobrze zrozumiałem to powinno być 

var n = 5;
for (var i = 0; i < n; i++) {
    console.log(i);
}

 

komentarz 20 listopada 2017 przez ilendil Początkujący (250 p.)
Nie bardzo. W ten sposób wypiszesz liczby od 0 do 4.
komentarz 20 listopada 2017 przez damianeqe Gaduła (4,380 p.)

a ok, przeczytałem wpis, a nie spojrzałem na tytuł


var n = 5;
var suma = 0;
for (var i = 0; i < n; i++) {
	suma += i;
}
console.log(suma);

 

komentarz 20 listopada 2017 przez ilendil Początkujący (250 p.)
To jest jasne. Kolega wyżej mnie nakierował odpowiednio.

Zastanawiam się tylko czy istnieje sposób żeby zrobić to bez tworzenia zmiennej "suma" ??
komentarz 20 listopada 2017 przez pablop76 VIP (123,180 p.)

tak jak napisałem.

var n = 10;
for (var i = 0; i < n+1; i++) {
 console.log(i);
}

 

komentarz 20 listopada 2017 przez kap Stary wyjadacz (11,620 p.)
edycja 20 listopada 2017 przez kap

A po co te kombnacje z n+1 (psujące czytelność, nie pokazujące intencji), jak można po prostu użyć właściwego operatora:
 

for (var i = 0; i <= n; i++) {
 console.log(i);
}

 

komentarz 20 listopada 2017 przez pablop76 VIP (123,180 p.)
ponieważ w zadaniu jest pokazanie cyfr od 0 do n. A jeżeli nie dodamy 1 to ostatnia cyfra będzie n-1.
komentarz 20 listopada 2017 przez kap Stary wyjadacz (11,620 p.)

@pablop76 lol, odpal mój przykład jak w kodzie nie widzisz

komentarz 20 listopada 2017 przez pablop76 VIP (123,180 p.)
Ok. Masz racje. <= zamiast n+1. Nie skumałem.
0 głosów
odpowiedź 20 listopada 2017 przez pablop76 VIP (123,180 p.)
Witam.

1.Jeżeli umieściłeś console.log po zakończeniu pętli to wydrukuje się ostatnia iteracja  a Ty chcesz wszystkie więc umieść funkcje w pętli.

2. Powinieneś drukować i bo to jest inkrementowane w pętli.

3. W warunku powinieneś zwiększyć n o 1 ponieważ ostania wartość będzie n-1.

Podobne pytania

+1 głos
2 odpowiedzi 659 wizyt
pytanie zadane 27 lutego 2021 w JavaScript przez Darth Vader Początkujący (270 p.)
0 głosów
1 odpowiedź 145 wizyt
pytanie zadane 22 sierpnia 2019 w JavaScript przez Dru Nowicjusz (180 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 28 października 2018 w JavaScript przez warzywko13 Użytkownik (840 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...