题目链接:https://ac.nowcoder.com/acm/contest/301/A
思路是我们用i从1-n依次枚举i+1,i+2,i+3...i+m,直接计算其中有多少个7的倍数就好了,(i+m)/7-(i+1)/7就是这个区间7的倍数的个数,如果(i+1)是7的倍数的话,这种情况没有加上,所以需要加1。
AC代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int n,m;
scanf("%d%d",&n,&m);
ll sum = 0;
for(int i=1;i<=n;i++){
sum += ((i + m) / 7) - ((i + 1) / 7);
if((i+1) % 7 == 0)sum++;
}
printf("%lld\n",sum);
return 0;
}