在这样一个世界中,每个世界都可以跟另一个世界进行交互,而这个世界可能是自己,现在有这么个人,他拿了一个苹果,设置了个条件,就是只有他的下个世界吃完后,自己才能吃这个苹果,于是给了他的下个世界,下个世界的人拿到上一个世界的苹果,也会先让他的的下一个世界吃一口,自己再吃,吃完后再将苹果扔给自己的上个世界。那么问题来了,如果第一个世界的人扔了一个苹果给下个世界,那么这个苹果什么时候才能够被吃完呢。
如果没有什么条件限制,那么这个苹果就会一直在所有的世界中进行循环,如果有时间,很可能就会在时间中最后被耗干。如果想要能够吃完这个怎么怎么办呢
那么就需要设置一个条件让其中一个世界能够吃一口
假设让每一个世界在扔这个苹果到下一个世界的时候都削一块皮
还有就是每个世界在接到另外一个世界的苹果的时候,会先判断能不能吃,如果能吃就直接吃,如果不能就扔给下个世界,下个世界返回后就按照以前的约定再吃。
那判定条件是什么呢,就是这个苹果已经没有屁可以削了,就不需要给下个世界了,就可以直接吃了,然后给上个世界。这样一层一层向上传递,最后第一个世界的人就会得到已经吃过的苹果,其实在他看下下面的世界是只有一个人吃的,但是他拿到的苹果时候,看到的场景可能是苹果是被n多个人吃了的(假设每个人吃完后都会留下一个牙印,而且每个人都只能吃一口),那么他就能知道,他的下层世界又做了跟自己同样的事情。
其实放到程序中,那么上面就是一个简单的递归的思想,递归两个必要条件
1.一个终结条件
2.一个变化的参数或者数据
其实有上面的条件是理想的,如果没有呢,那就是死循环,这样的世界是存在的么,如果这个世界和调用的下个世界是同一个世界呢
上个世界给这个世界人苹果,他扔给下个世界的人这个苹果的时候,是扔到另外一个地方了呢,那么在现世来看,是不是就是相当于瞬移了呢,就相当于我的这个苹果瞬移到了另外一个地方,假设这里有个门
那门的对面是另一个世界呢,还是这个世界的另外一个地方呢。
如果是同一个世界,那么如果我们透过这个门强杀了里面的那个自己呢,那么这个是自杀呢还是他杀呢,如果自杀也就是只是子弹转了个弯而已