N=2^i, i=9, N=2^9=512 , числа находятся в диапазоне от 1 до 512
Будем искать сначала двузначные числа, удовлетворяющие условию задачи.
Обозначим через x и y искомые цифры числа. Очевидно, что x и y должны быть значениями из интервала [1..3].
Тогда xy(5) = yx(4) ⇒ 5*x+y = 4*y+x ⇒ 4*x = 3*y
Очевидно, что x и y должны быть значениями целыми положительными из интервала [1..3] и, следовательно, двузначных чисел, удовлетворяющих условию задачи, не существует.
Рассмотрим трехзначные числа, обозначив старшую цифру через a:
axy(5) = ayx(4) ⇒ 5*5*a+5*x+y = 4*4*a+4*y+x ⇒ 9*a+4*x = 3*y
Пусть a=1, тогда:
9+4*x = 3*y
Так как ни x, ни y не являются старшой цифрой, то оба значения могут быть из интервала [0..3].
При x=0 получим подходящее нам значение y=3.
Итак, 103(5) = 5*5+3 = 28(10); 130(4) = 4*4+3*4 = 28(10)
Рассмотрев аналогичным образом x=1;2;3, а также a=2 и a=3, увидим, что других чисел, удовлетворяющих условию, нет.
Ответ: 28
Const n=10; m=5;
var a:array[1..n,1..m+1] of integer;
i,j,k,sp,s:integer;
begin
Randomize;
writeln(' Результаты соревнований');
for i:=1 to n do
begin
s:=0;
for j:=1 to m do
begin
a[i,j]:=random(50)+50;
write(a[i,j]:4);
s:=s+a[i,j];
end;
a[i,m+1]:=s;
writeln(s:5);
end;
write('k='); readln(k);
sp:=0;
for i:=1 to n do
if a[i,m+1]>=k then sp:=sp+1;
writeln('sp=',sp);
end.
Пример:
Результаты соревнований
69 52 91 62 65 339
70 53 96 56 97 372
78 98 94 61 62 393
62 86 50 58 95 351
82 98 53 56 81 370
75 64 56 85 54 334
69 99 53 72 97 390
55 75 66 59 61 316
99 71 83 75 51 379
91 73 53 88 79 384
k=350
sp=7
<em>// PascalABC.NET 3.3, сборка 1549 от 17.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var s:=BigInteger(0);
var f:=BigInteger(1);
for var i:=1 to ReadInteger('n=') do begin
f*=i;
s+=f
end;
Writeln('S= ',s)
end.
<u>Примеры</u>
n= 5
S= 153
n= 20
S= 2561327494111820313
n= 100
S= 94269001683709979260859834124473539872070722613982672442938359305624678223479506023400294093599136466986609124347432647622826870038220556442336528920420940313
Выясняем какое количество строк будет 2% от общего числа строк в каждой программе.
2% от 9000=180
Получается, что для каждого вируса он должен написать 180 строк кода.
На каждом компьютере 37 программ, каждая из которых состоит из 9000 строк кода. Выше мы выяснили сколько какое количество строк должен написать хакер для каждой из программ. А теперь выясним, какое количество строк он должен написать для всех программ на 1 компьютере, умножаем это количество на общее число вирусов, которых должен взломать хакер
180*37=6660
Далее, выясняем сколько вирусов должен написать хакер для всех компьютеров.
37*40=1480
Выясняем, общее число строк вирусного кода, которых должен написать хакер для всех программ на всех 40 компьютерах.
6660*40=266400
Ответ: 1)<span>1480 вирусов, 266400 строк кода</span>