— 10.10.0.0 – 10.255.255.255 — сеть класса A, возможно до 16121856 различных адресов хостов.
— 172.16.0.0 – 172.31.255.255 — группа 16-ти смежных сетей класса B, можно использовать до различных 1048576 адресов хостов.
— 192.168.0.0 – 192.168.255.255 — группа 16-ти смежных сетей класса C, возможно до различных 65536 адресов хостов.
Кроме того, существуют петлевые интерфейсы, которые не используют обмен между узлами сети. Для них выделен интервал адресов 127.0.0.0 — 127.255.255.255
При этом выбор конкретного диапазона зависит только от размеров вашей локальной сети. Так, в домашних или других небольших сетях обычно используют диапазон адресов 192.168.0.1 -192.168.0.254, при котором можно подключать до 254 клиентов.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018 // Внимание! Если программа не работает, обновите версию!
function CycleFraction(n:integer):string; begin if n=1 then begin Result:='1'; Exit end; var ost:=new SortedList<integer,integer>; var res:=new List<integer>; ost.Add(1,1); var a:=1; var k:=1; while True do begin a*=10; var r:=a div n; res.Add(r); a:=a mod n; if ost.ContainsKey(a) then begin var p:=ost.Get(a); Result:=res.JoinIntoString(''); Result:='0.'+Result?[:p]+(a<>0?'('+Result?[p:]+')':''.ToString); exit end else begin k+=1; ost.Add(a,k); end end end;
begin var n:=ReadInteger('n='); Writeln('1/',n,' = ',CycleFraction(n)) end.
Но если нужна конкретика, то:
— 10.10.0.0 – 10.255.255.255 — сеть класса A, возможно до 16121856 различных адресов хостов.
— 172.16.0.0 – 172.31.255.255 — группа 16-ти смежных сетей класса B, можно использовать до различных 1048576 адресов хостов.
— 192.168.0.0 – 192.168.255.255 — группа 16-ти смежных сетей класса C, возможно до различных 65536 адресов хостов.
Кроме того, существуют петлевые интерфейсы, которые не используют обмен между узлами сети. Для них выделен интервал адресов 127.0.0.0 — 127.255.255.255
При этом выбор конкретного диапазона зависит только от размеров вашей локальной сети. Так, в домашних или других небольших сетях обычно используют диапазон адресов 192.168.0.1 -192.168.0.254, при котором можно подключать до 254 клиентов.
// Внимание! Если программа не работает, обновите версию!
function CycleFraction(n:integer):string;
begin
if n=1 then begin Result:='1'; Exit end;
var ost:=new SortedList<integer,integer>;
var res:=new List<integer>;
ost.Add(1,1);
var a:=1;
var k:=1;
while True do begin
a*=10;
var r:=a div n;
res.Add(r);
a:=a mod n;
if ost.ContainsKey(a) then begin
var p:=ost.Get(a);
Result:=res.JoinIntoString('');
Result:='0.'+Result?[:p]+(a<>0?'('+Result?[p:]+')':''.ToString);
exit
end
else begin
k+=1;
ost.Add(a,k);
end
end
end;
begin
var n:=ReadInteger('n=');
Writeln('1/',n,' = ',CycleFraction(n))
end.
Примеры
n= 2
1/2 = 0.5
n= 7
1/7 = 0.(142857)
n= 28
1/28 = 0.03(571428)
n= 118
1/118 = 0.0(0847457627118644067796610169491525423728813559322033898305)