Ssh-криптографический протокол,более безопасен и широко используется
1. → 2 [сдвинуться вправо, перейти на строку 2]
2. → 3 [сдвинуться вправо, перейти на строку 3] — в вопросе опечатка?
3. → 4 [сдвинуться вправо, перейти на строку 4]
4. ? 5;2 [если в текущей ячейке нет метки, перейти на строку 5, иначе вернуться на 2]
5. ← 6 [сдвинуться влево, перейти на строку 6]
6. V 7 [поставить метку, перейти на строку 7]
7. ! [закончить работу]
Программа делает следующее: переходит на метку вправо, шагами по две ячейки идёт вправо, пока не дойдёт до пустой ячейки, возвращается на ячейку влево, ставит там метку и заканчивает работу.
Пусть метки расположены в ячейках 0 - (n-1), каретка под ячейкой 0.
Тогда сначала каретка окажется подячейкой 1, сделает [n/2] шагов по 2 вправо ([x] — целая часть x), оказавшись под ячейкой 1 + 2 * [n/2], вернётся на ячейку влево (ячейка 2 * [n/2]) и поставит там метку.
Если n было четным, будут заполнены ячейки от 0 до n, каретка под ячейкой n
Если n было нечетным, будут заполнены ячейки от 0 до n - 1, каретка под ячейкой n - 1
Порядок 20172017 в 2сс = log(20172017) / log(2) = 24.265852010453507 ~= 25
чтоб перевернуть число надо отнять колво единиц равных его порядку
20172017 - (2^25 - 1) = 13382414
Можно конечно заниматься переводами в двоичную
20172017 = "1001100111100110011110001"
"0110011000011001100001110" = 13382414
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
int i;
for (i = sqrt(a) + 1; i < sqrt(b); i++)
{
cout << i * i << " ";
}
return 0;
}
Если для 1.5л необходимо 30 грамм, значит для 1л. необходимо 20 грамм.
В программе будет умножать на 20.
var v, w: real; //Объявление двух переменных
begin //Начало
write('Литры чая = '); //Вывод сообщения
readln(v); //Ввод количества желаемых литров
w := v * 20; //Расчет количества сухого
writeln('Для ', v, ' л. чая, необходимо ', w, ' г сухого чая'); //Вывод результата
end. //Конец