实际上简单点啊,我不知道说的对不对,我想你的程序呈现的问题应该是:有三架礼炮,第一架每隔五秒响一次,第二架礼炮,每隔六秒响一次,第三架礼炮每隔七秒响一次,然后求观众一共能听到多少响炮声。如果是这样的话,其实问题就简单了,这样的话一共最长时间是21*7=147秒,在从1~147这些秒中,如果哪一秒“既是五的倍数又是六的倍数”或者“既是五的倍数又是七的倍数”或者“既是六的倍数又是七的倍数”,或者“同时是五、六、七三个共同的倍数”,如果是前三种情况的任意一种,那么炮声在总数63的基础上就会减少1,(减少1是因为原来按道理在这一秒中是三声,但是有两声同时响了,比方说30秒这一
刻,第一架礼炮和第二架礼炮同时响,因为30不是7的倍数,所以第三架的礼炮声是独立,也就是说在30秒这一刻只听见了两声,后面的你应该都可以理解了)如果是第四种情况的话,那么礼炮声就应该减少2。(实际上最后一种情况是不存在的,因为五、六、七最小公倍数是210,而最长时间才147秒,所以最后一种情况可以忽略,但是要考虑到)。你根据这个思路在考虑考虑。你不妨再拓展思维,根据上面的解释,如果炮声的响数足够多,我想第四种情况你也是可以理解的。写的字数比较多,只希望你能看懂
希望对你有所帮助。