Wpis z mikrobloga

@IceEskimos:

for($i=100;$i<1000;$i++){

$cyfrajednosci=$i%10;

$cyfradziesiatek=(($i-$cyfrajednosci)/10)%10;

$cyfrasetek=(($i-$cyfradziesiatek * 10-$cyfrajednosci)/100)%10;

if($cyfrajednosci+$cyfradziesiatek+$cyfrasetek == 15) echo $i.', ';

}
@IceEskimos:
To ten pierwszy przykład. Chodzi o algorytm, przepisać na c++ na pewno umiesz. Tego drugiego raczej się nie da bo to już z dziwnej specyfiki php które miesza typy.

wszystko normalnie napisać include itp a potem to wkleic?


@IceEskimos:
No nie, bo w c++ musisz zadeklarować zmienne, i nie używasz $, itp. Podstawową składnię to ty musisz znać....
@IceEskimos: Nie trzeba iterować się po wszystkich liczbach 3-cyfrowych, bo dla dwóch pierwszych cyfr, jest tylko jedna trzecia liczba możliwa, która da sumę 15.

Poniżej kod w PHP, ale jest na tyle prosty, że powinieneś go zrozumieć, nawet nie znając tego języka.

for($i=1; $i<=9; $i++) {
for($j=0; $j<=9; $j++) {
$k = 15 - $i - $j;
if($k<0 || $k>9) {
continue;
}

echo $i.$j.$k . PHP_EOL;
}
}

https://3v4l.org/6vgh5

$i
@mirasKo-Kalwario:
- możesz zrobić jedną pętlę od 10 do 99, ale trzeba potem wewnątrz liczbę dzielić na cyfry żeby je sumować,
- możesz zrobić funkcję rekurencyjną, ale to ma sens tylko jeśli planujesz realizowanie algorytmu dla liczb o różnej długości, a tego nie było w zadaniu i do wykonania tego też trzeba więcej się narobić.

Złożoność obliczeniowa jest ta sama dla wszystkich rozwiązań, a zaproponowane przeze mnie rozwiązanie wykonuje najmniej operacji