Блок-схема — графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).
==============================
AKS-Test.
==============================
Обычно, когда проводят тест на простоту сталкиваются с тем, что определить простоту числа в большинстве тестов можно лишь с некоторой вероятностью.
Но математика не стоит на месте и сравнительно недавно появился AKS-тест, позволяющий быстро и гарантированно определить, является ли число простым.
Суть метода такова. Пусть число, которое мы тестируем обозначается A. У нас есть такое выражение: . Если раскрыть скобки и привести это дело к многочлену вида и все коофиценты k в этом многочлене делятся на A без остатка, то число А - простое. Без вариантов.
Блок-схема с числом n представлена на рисунке 1.
В цикле: . (! - факториал)
P.S. В блок-схеме есть элемент вида (А). Он использовался для связи, так как места на стрелку справа не оказалось. Можешь их убрать и соединить освободившиеся места стрелкой.
Мой совет - запомнить как основную формулу для суммы первых n натуральных чисел
Доказывается она так: записываем те же числа в обратном порядке:
и складываем эти равенства таким образом: первое слагаемое с первым, второе со вторым и т.д. Поскольку в первой сумме каждое следующее слагаемое на 1 больше предыдущего, а во второй на 1 меньше предыдущего, мы получим сумму одинаковых чисел:
слагаемых всего n, поэтому
Теперь несложно найти сумму первых n четных чисел. Можно провести подобную выкладку, а можно свести новую задачу к предыдущей:
Ответ:
<span>167960
вот так считала, правда считает долго, а как оптимизировать не знаю
Ruby 22
n = 0
for bin in 1..2**30-1
s = ("000000000000000000000000000000" + bin.to_s(2))[-30..-1]
next if s.include?("11")
i = 0
for j in 0..s.size
i+=1 if s[j] == "1"
end
next if i != 11
n += 1
p [s, i, n]
end
</span>
Начало (овал)
Ввод данных (параллелограмм)
Цикл (ромб)
Вычисления (прямоугольник)
Вывод данных (параллелограмм)
конец (овал)