大一的一道程序设计题

Description
甲、乙、丙三人同时放鞭炮,甲每隔A秒放一个,乙每隔B秒放一个,丙每隔C秒放一个,他们各自放D个。对任意给定的A、B、C、D,求能听到多少声鞭炮响。

Input
四个正整数,分别表示A、B、C、D的值。

Output
一个整数,表示能听到的鞭炮响声个数。

Sample Input
1 2 3 2
Sample Output
5

题目有问题吧,怎么可能是听到5声呢,3声吧

#include <stdio.h>
#define OK(i, t, n) ((i%t==0) && (i/t<n))
int fun(int t1, int t2, int t3 ,int n) {
    int count, t , maxt=t1;
    if (maxt < t2) maxt = t2;
    if (maxt < t3) maxt = t3;
    count=1; /* 给count赋初值 */
    for(t=1; t< maxt*(n-1); t++) {
        if(OK(t, t1, n) || OK(t, t2, n)|| OK(t, t3, n))
            count++;
    }
    return count;
}
main() {
    int t1, t2, t3, n, r;
    scanf("%d%d%d%d",&t1,&t2,&t3,&n);
    r = fun(t1, t2, t3, n);
    printf("%d", r);
}