По сети отправили музыку и текст песни. Что было отправлено быстрее, текст или музыка, и на сколько секунд, если скорость передачи 40000 бит/с, а параметры данных таковы: Текст - 100 страниц по 50 строк по 80 символов в строке при 16-битной кодировке. Звук - время звучания 2 минуты, частота дискретизации 5 КГц, разрешение 32 бит на один СИГНАЛ. А ТАКЖЕ 3 ЗАДАНИЯ в фото
//Видимо, это одна задача, так как "изменения" во второй не указаны //Pascal ABC.NET v3.1 сборка 1172
Const n=20;
Var ar:array[1..n] of integer; i:integer; begin randomize; writeln('First array:'); for i:=1 to n do begin ar[i]:=random(10)-3; write(ar[i]:4); if ar[i]>0 then ar[i]:=ar[i]*2 else ar[i]:=0; end; writeln; writeln('Final array:'); for i:=1 to n do write(ar[i]:4); end.
Несмотря на длинное условие, эта задача совсем не сложная. Очевидно, что здесь речь идет о двух системах счисления, причем основание одной из систем в два раза больше, чем основание другой. По записи выражений (163*11):5+391 и (454*15-26):5+2633 можно предположить, что в первом случае основание меньше, а во втором - больше. Пусть x - основание меньшей системы счисления, тогда второе основание будет 2x. Переведем данные выражения в десятичную систему счисления по известному правилу: 1) ((1*(2x)^2+6*(2x)+3)*(1*2x+1)):5+(3*(2x)^2+9*2x+1)= ((4*x^2+12*x+3)*(2*x+1)):5+(12*x^2+18*x+1) 2) ((4*x^2+5*x+4)*(1*x+5)-(2*x+6)):5+(2*x^3+6*x^2+3*x+3)= ((4*x^2+5*x+4)*(x+5)-(2*x+6)):5+(2*x^3+6*x^2+3*x+3) После раскрытия скобок и приведения подобных, с учетом того, что числа в выражениях должны быть равны, получим: 8*x^3+88*x^2+108*x+8 = 14*x^3+55*x^2+42*x+29 т.е. 6*x^3-33*x^2-66*x+21=0 Очевидно, что нас интересуют только целочисленные положительные решения. Ещё раз посмотрим на выражение (454*15-26):5+2633 Из него видно, что основание системы счисления должно быть не меньше 7. Подставим 7 в уравнение, и! сразу обнаруживаем, что это и есть подходящее нам решение. Таким образом, в "десятке" одного было 7 человек, а в "десятке" другого - 14. Общее количество "шпиёнов" у каждого = 7820
//Pascal ABC.NET v3.1 сборка 1172
Const
n=20;
Var
ar:array[1..n] of integer;
i:integer;
begin
randomize;
writeln('First array:');
for i:=1 to n do
begin
ar[i]:=random(10)-3;
write(ar[i]:4);
if ar[i]>0 then ar[i]:=ar[i]*2 else ar[i]:=0;
end;
writeln;
writeln('Final array:');
for i:=1 to n do
write(ar[i]:4);
end.
Пример работы программы:
First array: 2 -3 5 6 -3 -3 1 -2 -3 1 3 -3 4 -3 1 -1 6 6 2 3
Final array: 4 0 10 12 0 0 2 0 0 2 6 0 8 0 2 0 12 12 4 6
1) ((1*(2x)^2+6*(2x)+3)*(1*2x+1)):5+(3*(2x)^2+9*2x+1)=
((4*x^2+12*x+3)*(2*x+1)):5+(12*x^2+18*x+1)
2) ((4*x^2+5*x+4)*(1*x+5)-(2*x+6)):5+(2*x^3+6*x^2+3*x+3)=
((4*x^2+5*x+4)*(x+5)-(2*x+6)):5+(2*x^3+6*x^2+3*x+3)
После раскрытия скобок и приведения подобных, с учетом того, что числа в выражениях должны быть равны, получим:
8*x^3+88*x^2+108*x+8 = 14*x^3+55*x^2+42*x+29
т.е. 6*x^3-33*x^2-66*x+21=0
Очевидно, что нас интересуют только целочисленные положительные решения.
Ещё раз посмотрим на выражение (454*15-26):5+2633
Из него видно, что основание системы счисления должно быть не меньше 7.
Подставим 7 в уравнение, и! сразу обнаруживаем, что это и есть подходящее нам решение.
Таким образом, в "десятке" одного было 7 человек, а в "десятке" другого - 14.
Общее количество "шпиёнов" у каждого = 7820