第二周
第四天
穷举法解决问题:穷尽所有可能直到解决问题
百钱买百鸡。母鸡5元一只公鸡3元一只小鸡1元三只花一百买一百只鸡
for x in 0...20{
for y in 0...33{
let z = 100 - x - y
if 5*x + 3*y + z/3 == 100 && z % 3 == 0
{
print("公鸡:\(x),母鸡:\(y)小鸡:\(z)")
}
}
}
分鱼:五个人一起打鱼,第二天分鱼的时候第一个先醒,然后扔了一只鱼刚好把鱼分成一份,第二个人醒来不知道第一个人已经分了鱼,用第一个人的方法把鱼刚好分成五份,拿一份走,后面直到最后一个人也是这样,求他们至少打了多少鱼
var total = 1
//假设总共只有一条
while total>0{
//一个死循环,因为总数始终大于0
var fish = total
//鱼数等于总数
//
for _ in 1...5{
//开始一个五次的循环
if (fish - 1 )%5==0{
//如果鱼数-1能分成五份就进来
fish=(fish-1)/5*4
//把鱼的总数重新赋值为原来减一的五分之四
}
else{
//不然就把鱼数赋值为0并跳出for循环
fish = 0
break
}
}
if fish != 0 {
//如果鱼的数量不为0 也就是分好了,打印总数然后把总数赋值为1跳出while循环
print(total)
total = -1
}
total += 1//每次for循环结束后总数加一个
}
双重循环
打印一个九九乘法表
for i in 1...9{
for j in 1...i{
print("\(i)*\(j)=\(i*j) ",terminator:"")
}
print("")//换行
}