Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?
$bcount=123; // число коробок
// массив состояний коробок, true — open, false — close
$b=array();
for($x=0; $x<$bcount; $x++)
$b[]=true;
// решаем задачу
for($x=1; $x<=$bcount; $x++)
for($y=1; $x<=$bcount; $x++)
if($x%$y==0) // если нету остатка от деления, инвертируем состояние коробки
$b[$x]=!$b[$x];
// подсчитываем число открытых коробок
$n=0;
for($x=0; $x<$bcount; $x++)
if($b[$x])$n++;
echo $n;
?>* This source code was highlighted with Source Code Highlighter.
<? php
$n = (int)$_GET['n'];
$boxes = array_fill(1, $n, 1);
for($i = 2; $i <= $n; $i++)
{
for($j = $i; $j <= $n; $j = $j + $i)
{
$boxes[$j] = !$boxes[$j];
}
}
//print_r($boxes);
echo array_sum($boxes);
import sys
# True = open; False = close
countBoxes = 40
_boxes = range(1, countBoxes + 1)
_count = [True] * countBoxes
def stat():
[sys.stdout.write('%s ' % ('x' if not _count[i] else '-')) for i, box in enumerate(_boxes)] and sys.stdout.write('\n')
stat()
for step in xrange(1, countBoxes):
for box in _boxes[step::step + 1]:
try:
box = _boxes.index(box)
except:
pass
else:
_count[box] = not _count[box]
stat()

M = N - N/2 + N/3 - N/4 + N/5 + ... — в сумме должно быть k членов.M = N * (1 - 1/2 + 1/3 - 1/4 + 1/5 + ...) 1/2 - 1/8 + 1/16 - 5/128 + ...
Устройство на работу