a.
2022-01-20T00:52:41+00:00
如果有一天你也进了循环,怎么让别人相信你呢。这里提供小秘密换大秘密的归纳法,希望对大家有帮助。(适合多次重复循环)
以说服张警官为例,
第一次,跟张警官坦白后,对方肯定不信。你就说
“我知道你不会信,但我在之前循环中跟你达成了协议:你先告诉我一个只有你知道的小秘密,然后我在下次循环中跟你说。你如果还不相信,就告诉我一个比上个秘密更大的秘密。如此循环。直到最后秘密大到你相信只有循环能解释。”
思路就是:达成协议,获得秘密1,进循环 → 告诉别人协议内容和秘密1,换取秘密2,进循环 → 告诉别人协议内容和秘密1,2,换取秘密3,进循环 → 告诉别人协议内容和秘密1,2,3,换取秘密4,进循环 → ...... → 直到所有其它原因都不能解释你知道的秘密
前几次秘密可以是微不足道的私人信息。比如这一次,你告诉张警官,在之前的循环中张警官说自己左手有伤。张警官显然还是不会相信循环,可能会觉得你在调查他。
但是没关系,我们每一次只需要换一个更加大的秘密,比如张警官听了后,告诉你说他有个亲弟弟,小时候差点掉进井里淹死。
下一次循环,你跟张警官说明你们的协议约定,第一次张警官告诉你他左手有伤,循环后又告诉你有个亲弟弟小时候差点掉井里淹死……如果张警官还不相信你知道这么多是因为循环,就换一个更大的秘密。比如张警官说他其实暗恋了初中同学好几年,还是放不下。
(当然不是每一次都能顺利把协议执行下去,遇到失控的时候就重开多试几次继续推进)
直到最后,你把说出了所有外人不可能知道的秘密,只有相信你进了循环。
归纳法表述为
do i = 1 to ∞;
告诉张警官之前循环所有的秘密;
if 张警官相信循环; output;
if 张警官不相信循环; 秘密 = 秘密 + 1;
end;
以说服张警官为例,
第一次,跟张警官坦白后,对方肯定不信。你就说
“我知道你不会信,但我在之前循环中跟你达成了协议:你先告诉我一个只有你知道的小秘密,然后我在下次循环中跟你说。你如果还不相信,就告诉我一个比上个秘密更大的秘密。如此循环。直到最后秘密大到你相信只有循环能解释。”
思路就是:达成协议,获得秘密1,进循环 → 告诉别人协议内容和秘密1,换取秘密2,进循环 → 告诉别人协议内容和秘密1,2,换取秘密3,进循环 → 告诉别人协议内容和秘密1,2,3,换取秘密4,进循环 → ...... → 直到所有其它原因都不能解释你知道的秘密
前几次秘密可以是微不足道的私人信息。比如这一次,你告诉张警官,在之前的循环中张警官说自己左手有伤。张警官显然还是不会相信循环,可能会觉得你在调查他。
但是没关系,我们每一次只需要换一个更加大的秘密,比如张警官听了后,告诉你说他有个亲弟弟,小时候差点掉进井里淹死。
下一次循环,你跟张警官说明你们的协议约定,第一次张警官告诉你他左手有伤,循环后又告诉你有个亲弟弟小时候差点掉井里淹死……如果张警官还不相信你知道这么多是因为循环,就换一个更大的秘密。比如张警官说他其实暗恋了初中同学好几年,还是放不下。
(当然不是每一次都能顺利把协议执行下去,遇到失控的时候就重开多试几次继续推进)
直到最后,你把说出了所有外人不可能知道的秘密,只有相信你进了循环。
归纳法表述为
do i = 1 to ∞;
告诉张警官之前循环所有的秘密;
if 张警官相信循环; output;
if 张警官不相信循环; 秘密 = 秘密 + 1;
end;