网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

谜题 | 从计算机网络中消除病毒

更新时间:2026年03月27日   作者:spoto   标签(Tag):
在一个由无限多台计算机构成的网络中,有650台计算机被某种病毒感染了。 IT支持团队可以访问五种不同类型的防病毒软件包(我们将其分别命名为A、B、C、D和E),这些软件包都可以用来消除这种病毒。 如果在使用“X”这款防病毒软件时,网络中有至少Xr台被病毒感染的计算机,那么“X”这款软件就能从这些被感染的计算机中清除病毒。 但是,这将会导致网络中那些没有病毒的计算机也被病毒感染。 以下是关于这些防病毒软件包的详细信息:杀毒软件
A254
B140
C815
D3218
E501
任何一款防病毒软件都可以被多次使用,且使用顺序可以任意安排。不过,同时只能使用两款防病毒软件。那么,是否可以利用A、B、C、D和E这五款防病毒软件来清除网络中的病毒呢?如果可以的话,那么这些软件的使用顺序应该是什么?如果不行的话,那为什么呢?答案:不。解决方案:请注意,当这些防病毒软件包被应用于网络时,它们分别能够成功清除来自21、14、-7、14和49个位置的病毒。 (-7表示有7台没有病毒的计算机被病毒感染了)。 所有这些对被病毒感染的计算机进行的修改,其除以7后的余数都为零。因此,无论这些修改被应用多少次,它们都不会改变被病毒感染的计算机总数除以7后的余数。 不过,最初有650台被感染的计算机,这相当于6除以7的余数。 因此,无论以何种顺序使用A、B、C、D或E中的任何一个,当将网络中受感染计算机的总数除以7时,得到的余数始终为6。示例:最初有650台计算机被病毒感染了。当用7去除这650时,得到的余数是6。然后应用A算法。结果,有25台计算机没有被病毒感染,而另外4台计算机被感染了。因此,总共有629台计算机被病毒感染了。当用7去除629时,得到的余数仍然是6。所以,可以继续执行后续操作。
 
In short :
  ( 650 - 7 * some_number ) % 7  = 650 % 7 -(7 * some_number)%7 = 6 - 0 = 6 

Hence , we cannot make the difference to zero in any case 
 
这个问题及其解决方案基于“不变性原理”。当事物看似在不断变化时,应寻找那些虽然有所变化,但实际上并未发生变化的核心价值观。注意:不过,实际上并不需要同时应用两款防病毒软件。即使我们同时应用其中一款或几款软件,其原理仍然保持不变。不过,这样做是为了确保,当所有软件都被应用时,我们就不需要再寻找那些被感染了的计算机了。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料