Так как каждая сеть должна адресовать не менее 2000 узлов, последнее число может быть любым (256 вариантов). На 2-ом справа числе должна быть маска так, чтобы была свобода хотя бы в 8 номеров (256*8=2048). Но при этом чтобы все три адреса попали в три разных сети. Второе число должно быть 11111000(2) = 248(10). 1 сеть будет от 192.168.176.1 до 192.168.183.254 - в ней 192.168.181.171. 2 сеть будет от 192.168.160.1 до 192.168.167.254 - в ней 192.168.165.80 3 сеть будет от 192.168.168.1 до 192.168.175.254 - в ней 192.168.173.134. ответ: 255.255.248.0 для всех трех сетей.
Я в диалектах не очень, но вот вспомнил VB.net :) Sub Main() Dim a(10) As Integer Dim b As Integer = 1 Dim c As Integer
Dim R As Random = New Random() For i As Integer = 0 To 10 a(i) = R.Next(12) Console.WriteLine("[" + i.ToString() + "] => " + a(i).ToString()) Next
For i As Integer = 0 To 10 If ((a(i) Mod 2 = 0) And (a(i) < 0)) Then b = b * a(i) If ((a(i) Mod 3 = 0) Or (a(i) Mod 5 = 0)) Then c = c + 1 Next Console.WriteLine("Произведение чётных отрицательных: " + b.ToString()) Console.WriteLine("Кол-во кратных 3 или 5: " + c.ToString()) Console.Read() End Sub
Но при этом чтобы все три адреса попали в три разных сети.
Второе число должно быть 11111000(2) = 248(10).
1 сеть будет от 192.168.176.1 до 192.168.183.254 - в ней 192.168.181.171.
2 сеть будет от 192.168.160.1 до 192.168.167.254 - в ней 192.168.165.80
3 сеть будет от 192.168.168.1 до 192.168.175.254 - в ней 192.168.173.134.
ответ: 255.255.248.0 для всех трех сетей.
Sub Main()
Dim a(10) As Integer
Dim b As Integer = 1
Dim c As Integer
Dim R As Random = New Random()
For i As Integer = 0 To 10
a(i) = R.Next(12)
Console.WriteLine("[" + i.ToString() + "] => " + a(i).ToString())
Next
For i As Integer = 0 To 10
If ((a(i) Mod 2 = 0) And (a(i) < 0)) Then b = b * a(i)
If ((a(i) Mod 3 = 0) Or (a(i) Mod 5 = 0)) Then c = c + 1
Next
Console.WriteLine("Произведение чётных отрицательных: " + b.ToString())
Console.WriteLine("Кол-во кратных 3 или 5: " + c.ToString())
Console.Read()
End Sub