【计算机网络】【Python】【练习题】【新加坡南洋理工大学】【Computer Control Network】

一、题目描述

该题目描述一个网络中数据包交换(Packet Switching)的例子。题目如下:

在这里插入图片描述

二、问题解答(使用Python)

Q1:如何求出0.0004这个值?

(1)、公式推导过程(手写):

在这里插入图片描述
(2)将计算过程转化为Python代码

import math


def fact(n):
    if n == 0:
        return 1
    return n * fact(n - 1)


p_bar = 0
for i in range(0, 11):
    # print(i)
    p_bar += fact(35) / fact(i) / fact(35 - i) * math.pow(0.1, i) * math.pow(0.9, 35 - i)

p = 1 - p_bar

print(p)

运行结果(截图):

在这里插入图片描述
Q2:如果总用户数 > 35,这一概率会如何变化?

更改后的 Python 代码,手动输入总用户数的值:

import math


def fact(n):
    if n == 0:
        return 1
    return n * fact(n - 1)


p_bar = 0

n = int(input("输入总用户数n:"))


for i in range(0, 11):
    # print(i)
    p_bar += fact(n) / fact(i) / fact(n - i) * math.pow(0.1, i) * math.pow(0.9, n - i)

p = 1 - p_bar

print(p)



# print(fact(6))
# print(math.pow(0.1, 2))



n = 50(总用户数为50):

在这里插入图片描述
n = 75(总用户数为75):

在这里插入图片描述

n = 90(总用户数为90):

在这里插入图片描述

n = 100(总用户数为100):

在这里插入图片描述

此概率值会随着总用户数的增多而显著增加。(直观看来也是如此。)

解答完毕。

更新:

习题第1问标准答案:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不是AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值