Практика алгоритмизации 2

Задача №9 из этого списка
Условие: Дано целое число N (> 0). Найти квадрат данного числа, используя для
его вычисления следующую формулу: N2=1+3+5+...+(2·N–1).
После добавления к сумме каждого слагаемого выводить текущее значение
суммы (в результате будут выведены квадраты всех целых чисел от 1
до N).

<?php
$N = 4;

function getSquare($number){
    $result = 0;
    for($i=1; $i<=(2*$number-1); $i+=2){
        $result += $i;
        yield $result;
    }
}

foreach(getSquare($N) as $square){
    echo $square . '<br>';
}
?>

Key Words for FKN + antitotal forum (CS VSU):

melisa's picture

Принято. Очень интересное решение с помощью генератора!

Voronve's picture

Спасибо! Как раз совпало так, что перед решением повторял тему по генераторам )

melisa's picture

лучший способ запомнить ищученное - сразу же применить) желательно раз 5)