PHP - sumowanie kolejnych liczb naturalnych

0

Hej,
Dostałem od nauczyciela w technikum zadanie, z którym nie potrafię się uporać
Brzmi tak:
"Stwórz skrypt, który obliczy sumę kolejnych liczb naturalnych.
Liczby powinny zaczynać się od 10.
Należy sumować kolejne liczby tak długo, dopóki ich suma nie przekroczy 1000.
Wynikiem skryptu jest uzyskana suma oraz liczba sumowanych liczb"
Wiem, jak wypisać takie liczby, ale nie do końca rozumiem jak mam je zsumować i wypisać ile takich liczb było sumowanych
Chodzi tu o użycie pętli FOR.

Póki co jestem na takim etapie:

<?php $suma=0; for($i=10;$suma<1000;$i++) { $suma+=$i; echo "suma=$suma
"; } ?>

Uprzedzając pytania, jestem dopiero w 1 klasie i nie wszystko od razu rozumiem.|
Proszę o pomoc.

2
  1. używaj formatowania na forum
  2. dobrze że próbujesz :)
  3. sumę pokaż już poza pętlą bo masz pokazać ją na końcu a nie kolejne sumy
  4. dodaj jeszcze jedną zmienną $count i po prostu zwiększaj o jeden w pętli i na końcu to wyświetl, masz policzyć przecież ilość liczb zsumowanych
0
<?php
$suma=0;

for($i=10;$suma<1000;$i++)
{
$a=$suma+=$i;
}
echo "$a<br>";
$wynik=count($a);

echo "$wynik";

?>

Coś takiego?
$wynik mi wychodzi 1, nie do końca wiem dlaczego

1
<?php
$sum=0;
$count=0;

for ($i=10; $sum < 1000; ++$i)
{
    $sum+=$i;
    ++$count;
}
echo "Suma: $sum<br>";
echo "Ilość liczb : $count";

Zanalizuj sobie ten kod i go zrozum.

1

Bo pod zmienna $a masz pojedzyncza liczbę, wiec count zwraca 1. Ale ta konstrukcja w pętli jest bardzo dziwna i nie wiem w zasadzie po co Ci to. Suma Ci trzyma sumę liczb, a ilości sumowatych liczb ile wynosi? Ile obrotów wykona Twoja pętla jak zaczyna od 10, jedzie do 1000?

0

Dobra, rozwiązałem to:

<?php
$suma=0;
$liczby=0;
for($i=10;$suma<1000;$i++)
{
$a=$suma+=$i;
$liczby++; //po iteracji pętli zwiększa $liczby o 1

}
echo "Liczba zsumowana to: $a.<br>";
echo "Ilość liczb sumowanych: $liczby." //po zakończeniu pętli wyświetli wartość zmiennej $liczby

?>

Dziękuję za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1