主页 > 电脑硬件  > 

蓝桥杯平方差(打表)

蓝桥杯平方差(打表)

样例输入: 1 5 样例输出: 4

  思路:

题目数据是1e9,只有时间复杂度小于o(n) 才可以通过。暴力肯定不行,类似这种数学题,一时半会没有思路的,我们可以通过打表,快速罗列一定范围内的数据找规律。

我们列举0~100的数,不拿发现符合题意的数的规律为该范围内所有的奇数,和4的倍数。

#include<bits/stdc++.h> using namespace std; #define int long long const int N = 1e9; bool v[N]; int l,r; signed main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>l>>r; int c=(r+1)/2+r/4-l/2-l/4; cout<<c<<endl; return 0; }

 细节:(r+1)/2是为了求出0~r内所有奇数的个数(如3->2),r/4找4的倍数(7->1),而且题目中l,r是两闭区间,所以要减去0~(l-1)区间内奇数个数。 

 

标签:

蓝桥杯平方差(打表)由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“蓝桥杯平方差(打表)