海军开幕式 礼炮问题(最快)

礼炮问题

在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。

#include <iostream>

using namespace std;

int main()
{
    int i=0,n=0;                //n为被盖住的礼炮次数,实际上就是公倍数
    for(i=0;i<21;i++){           
        if(5*i%6==0)
            n++;
        if(5*i%7==0)
            n++;
        if(6*i%7==0)
            n++;
    }
    printf("%\d",21*3+1-n);            //0s时刻被多算一次
    return 0;
}

看见大部分用数组的做法有点奇怪,如有错误劳烦指出

点赞