Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его смысла)
Решение для OpenOffice.org Calc и для Microsoft Excel
Задание допускает много решения. Ниже приведено одно из возможных решений.
Подготовительная часть.
В ячейку запишем формулу
информатика
или
информатика
(здесь и далее первая формула используется для русскоязычного интерфейса, вторая – для англоязычного)
В ячейку запишем формулу
информатика
или
информатика
Скопируем эти формулы во все ячейки диапазона
Задание 1.
В ячейку запишем формулу
или
Задание 2.
В ячейку запишем формулу
или
В ячейку запишем формулу
или
В ячейку запишем формулу
Возможны и другие варианты решения.
Например, при выполнении задания можно упорядочить данные так, чтобы нужные строки стояли подряд, а потом подсчитать их количество, используя нумерацию строк.
Если задание выполнено правильно и при выполнении задания использовались файлы, специально подготовленные для проверки выполнения данного задания, то должны получиться следующие ответы.
На первый вопрос:
На второй вопрос:
Сначала программа, показывающая период=))
Var
N:uint64;
B:BigInteger:=1;
Begin
Write('N = ');ReadLn(N);
For var i:= 1 to N do
Begin
if (i mod 10 <> 5)and(i mod 10 <> 0) then B:=B*i
else if i mod 10 = 5 then B:=B div 2;
Write(B mod 10);
if i mod 40 = 0 then WriteLn;
End;
End.
N = 1000
1264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
...
Ну и так далее.
Искомая программа:
Const
T = '6626422428886826626444846886822242844846';
Var
S:BigInteger;
Begin
S:=ReadString.ToBigInteger;
if S > 1 then WriteLn(T[(S mod 40).ToString.ToInteger+1])
else WriteLn(1)
End.