7-12 乱敲钟
有大小两寺敲晨钟,报时警示时光匆,约定晨时同起声,大寺三分敲一下,小寺四时应一声,大小各敲十二通,一人居在两寺中,可闻多少晨钟声。
上面故事的意思是:有大小两座寺院敲晨钟用来报时,并且两座寺院都是在晨时开始敲钟。大寺院每3分钟敲一下,小寺院每4分钟敲一下,两座寺院各敲12下,居住在两座寺院中间的人能听到多少声钟声?答案很简单,21次。
这个题目太简单了,我们现在想弄个复杂点的。三个寺庙呈品字形排列,一个人站在三个寺庙连成的三角形的中心,离三个寺庙的距离相等。三个寺庙同时从0点开始敲钟,但是和尚每天的规律都不同,如果告诉你每个寺庙每天的敲钟间隔,以及敲钟的总数,你能知道站在中间的人总共能听到多少声钟声吗?
输入格式:
输入在一行中给出4个绝对值不超过1000的整数A,B,C,N,分别代表三个寺庙敲钟的间隔,N则是每个寺庙敲钟的次数。
输出格式:
对每一组输入,在一行中输出站在中间的人听到的钟声次数。
输入样例:
在这里给出一组输入。例如:3 4 5 3
输出样例:
在这里给出相应的输出。例如:7
计算它们的最小公倍数,再看有没有重叠
A:0 3 6
B:0 4 8
C:0 5 10
合起来:0 3 4 5 6 8 10
所以听见的有7次
可以弄一个数组,从0到n-1进行for循环:for(i=0;i<n;i++),每次把a[Ai],a[Bi],a[C*i]设为1,最后统计有多少个1,其结果就是答案了(也可以判断如果这里没标记,那么标记并将结果+1)
大小各敲十二通
既然是各敲12下,很显然加起来是24下才对
又没问经过12分钟敲几下,又没问大敲12下时小一共敲几下,这题明显出错了