一道笔试题

假定甲型H1N1 型流感的潜伏期是5 天,发病期到治愈期为5 天。在潜伏期中没有传染
性,发病后到治愈期间的5 天内具有传染性,治愈后没有传染性。假定若是不采取任何
措施隔离的话,每个发病病人每天能新传染3 人。请写一个函数lCount,计算出从在不
采取隔离措施的前提下某一天起有一人感染上流感并处于潜伏期,到指定天数后的某一
天全部感染上甲型H1N1 型流感(包括感染过已治愈)的人数。

func ICount(let day:Int) -> Int{
    //初始化,最开始只有一个人得H1N1
    var patients = [Patient(day:1)]

    for _ in 1...day {
        
        for patient in patients {
            //对于处于5-10天的病人,做增长
            if patient.day > 5 && patient.day<=10 {
                //每过一天,传染3个人
                let growth = Array(count: 3, repeatedValue: Patient(day: 1))
                patients += growth
            }
        }
        
        //每过一天,所有病人的感染天数 +1
        patients = patients.map({ (patient) -> Patient in
            return Patient(day: patient.day+1)
        })
    }

    return patients.count
}       


for i in 1...12 {
    print("day \(i): \(ICount(i))")
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 流行性感冒(简称流感)是流感病毒引起的急性呼吸道感染,也是一种传染性强、传播速度快的疾病。其主要通过空气中的飞沫、...
    a2b8b6facbec阅读 498评论 0 0
  • 我们,谢幕!而新的幕又将拉起,人生就是这样,结束,开始,再开始,再结束……无论如何,我们都将背负着各自的幸福和...
    想你612阅读 1,997评论 0 1
  • 大学毕业整整一年,在缅怀逝去的青春的同时,也不禁感概世事变化的无常.曾经不知道从事哪个行业,不知道将来在哪里工作,...
    c3722a87bf9d阅读 196评论 0 1
  • 持而盈之,不知其已;揣而锐之,不可长保。 金玉满堂,莫之能守;富贵而骄,自遗其咎。 功遂身退,天之道也。 可以把持...
    ai糊弄阅读 257评论 0 0

友情链接更多精彩内容