题意:就是给定一个范围的时间段,第一天是周日,然后周五周六是不会罢工的。有几个党派,他们会每个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; }
时间: 2024-11-08 19:43:27