// A)
begin
var f1 := BigInteger(1);
var f2 := BigInteger(1);
var Count := 2;
repeat
var f := BigInteger(f1 + f2);
f1 := f2;
f2 := f;
Count += 1
until Count = 40;
Write(f2)
end.
// B)
begin
var f1 := BigInteger(1);
var f2 := BigInteger(1);
var m := ReadlnInteger();
repeat
var f := BigInteger(f1 + f2);
f1 := f2;
f2 := f;
until f2 > m;
Write(f2)
end.
// C)
begin
var f1 := BigInteger(1);
var f2 := BigInteger(1);
var S := f1;
repeat
S += f2;
var f := BigInteger(f1 + f2);
f1 := f2;
f2 := f;
until f2 >= 1000;
Write(S)
end.
#include <iostream>
#include <iomanip>
using namespace std;
int** matrCreate(int n)
{
int** M;
M = new int *[n];
for (int i = 0; i < n; i++)
M[i] = new int [n];
return M;
}
void matrInit(int** M, int n)
{
srand(time(0));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
M[i][j] = rand()%199 - 99 ;
}
void matrPrint(int** M, int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
cout << setw(5) << M[i][j];
cout << endl;
}
}
void matrTransform(int** M, int n)
{
int im, jm, max = -1000, s = 0;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if (M[i][j] > max)
{
max = M[i][j];
im = i;
jm = j;
}
if (i == j)
s += M[i][j];
}
}
M[im][jm] = s;
}
void clearMem(int** M, int n)
{
for (int i = 0; i < n; i++)
{
delete [] M[i];
}
delete [] M;
}
int main()
{
int n;
cin >> n;
int **A;
A = matrCreate(n);
matrInit(A, n);
matrPrint(A, n);
cout << endl;
matrTransform(A, n);
matrPrint(A, n);
clearMem;
return 0;
}
Ну тут совсем всё просто:
Смотрим на входные данные, исходное слово "апельсин", а зашифрованное "твчюодыа".
Вспоминаем принцип шифра "Цезаря", что бы зашифровать текст, необходимо определить сдвиг по алфавиту, так называемый "корень". То есть, если корень равен 3, то все буквы А в исходном послании заменятся на (сдвигаемся по алфавиту на 3 буквы вправо) букву Г. Но что делать если мы шифруем букву Ю? Считаем сдвиг Ю - Я это 1, а дальше просто "прыгаем" в начало алфавита Я - А это 2, А - Б это 3, следовательно при ключе 3 буква Ю станет буквой Б.
В нашем случаи все что нужно, так это проверить, на сколько букв сместилась буква "а", в слове "апельсин", что превратилась в букву "т", в слове "твчюодыа".
Смотрим по даному алфавиту и считаем количество сдвигов, это будет 19. Теперь провевим, что если сдвинуть остальные буквы в слове апельсин на 19 символов вправо по алфавиту, если они будут соответствовать зашифрованым, то мы нашли корень правильно.
В нашем случаи именно так и есть, то есть ответ задачи ключь = 19.
Объяснение: