Поделитесь своими знаниями, ответьте на вопрос:
Вопросы кс 1. адресация в ip сетях. 2. алгоритм динамического назначения адресов в dhcp. 3. беспроводная передача данных. 4. интеллектуальные функции коммутаторов. 5. использование масок при ip-адресации. 6. коммутация пакетов и каналов. 7. коммутируемые локальные сети. 8. компоненты сети 9. маршрутизация с использованием масок. 10. масштабируемая система маршрутизации. 11. методы обеспечения качества обслуживания. 12. направление модернизации стека тсрлр. 13. обнаружение и коррекция ошибок сети. 14. основы проектирования структурированных кабельных систем (скс) 15. особые адреса. 16. отображение ip-адресов на локальные адреса. 17. построение магистральных линий связи 18. примеры заполнения таблиц маршрутизации. 19. примеры сетей и сетевые характеристики. 20. протокол ipу4. 21. протокол ipv6. 22. протокол rip 23. протоколь ospf 24. протоколы маршрутизации. 25. сетевые топологии. 26. система dns. 27. снижение нагрузки на маршрутизаторы. 28. совместное использование ресурсов компьютеров 29. стандартизация сетей. 30. стандартные стеки коммуникационных протоколов. 31. стек протоколов тср/р. 32. схема ip-маршрутизации. 33. типы и классификация сетей. 34. передача данных по линиям связи. 35. формат ip-пакета. 36. формат и классы ip-адресов. 37. характеристика модели osi. нужна
function SHarm(m:integer):real:=Range(1,m).Select(x->1/x).Sum;
begin
var a:=ReadReal('a=');
var m:=1;
while SHarm(m)<=a do Inc(m);
Writeln('m=',m)
end.
Тестовое решение:
a= 5
m=83
Указанный ряд - это известный в математике расходящийся гармонический ряд. Его приближенное значение суммы можно определить по формуле Эйлера:
Нам требуется определить m, для которого S(m)>a, тогда
Будем искать m, отбрасывая дробную часть полученного результата, а потом делать уточнение путем непосредственного вычисления сумм.
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
const C=0.577215664902; // Постоянная Эйлера-Маскерони
function SHarm(m:integer):real:=Range(1,m).Select(x->1/x).Sum;
begin
var a:=ReadReal('a=');
var m:=1;
if a<=3 then begin
while SHarm(m)<=a do Inc(m);
Writeln('m=',m)
end
else begin
var s:real:=Int(exp(a-C));
if a<10 then begin
m:=Trunc(s);
while SHarm(m)<=a do Inc(m);
Writeln('m=',m)
end
else Writeln('m=',s)
end
end.
В этом случае можно проводить оценочный расчет для больших значений а:
a= 200
m=4.05709150011779E+86