题意:就是给定一个范围的时间段,第一天是周日,然后周五周六是不会罢工的。有几个党派,他们会每个hi天发起罢工,每个党派有一个hi值。这样,求给定天数中的罢工天数。
思路:从1到n循环天的编号,如果是周五周六(模7等于6或0),则不罢工;如果是其中某个hi的倍数,则必罢工。
这个应该是水题了吧。。虽然开始可能会想到计数问题那个复杂的东西~
Code:
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t-->0)
{
int n;
scanf("%d",&n);
int p;
scanf("%d",&p);
int h[105];
for(int i=0;i<p;++i)
scanf("%d",&h[i]);
int cnt=0;
for(int i=1;i<=n;++i)
{
if(i%7==6||i%7==0) cnt++;
else
{
int flag=0;
for(int j=0;j<p;++j)
{
if(i%h[j]==0) {flag=1;break;}
}
if(flag==0) cnt++;
}
}
printf("%d\n",n-cnt);
}
return 0;
}