数据比较大,用long long 去定义
考虑周期性。可以求从1 ~ 2^n和1 ~ 2^m里符合条件的数,相减即是答案。
#include <bits/stdc++.h> using namespace std; const int maxn = 1e6 + 10; typedef long long ll; int a[maxn], sum[maxn]; ll cul(ll x) { ll res = pow(2, x); --res; ll tmp = res / 7; if (res % 7) ++tmp; return tmp; } int main() { ll a, b; scanf("%lld%lld", &a, &b); printf("%lld\n", cul(b) - cul(a)); }