题解 3142: 蓝桥杯2023年第十四届省赛真题-平方差

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

3142: 蓝桥杯2023年第十四届省赛真题-平方差(C++)

**当所给数的范围极大时,不能盲目循环,尝试找规律破解有平方差的数要么是奇数,要么是4的倍数**```cpp#includeusingnamespacestd;intF(intx){//x/4表示1到r上4的倍数,(x+1)/2表示1到r上的奇数个数returnx/4+(x+1)/2;}intmain

3142: 蓝桥杯2023年第十四届省赛真题-平方差

解题思路:此题可以用三个for循环直接求解(即蛮力法),但是求出来之后会显示时间超时,看了一下别人的方法,可以直接用公式求解,即:F(x)=x/4+(x+1)/2此公式求出来是小于x的满足条件的数的个数,但是这个公式我也不知道是怎么推出来的,而且我觉得这种题不具有通用性,所以只需要记住公式就行。

题目 3142: 蓝桥杯2023年第十四届省赛真题-平方差

解题思路:只有当x是偶数时(即x的最低位是0,或者说x是4的倍数),x才能表示为两个整数的这是因为奇数减去奇数或偶数减去偶数总是得到偶数,而且只有当x模4的余数是0或3时,x才能被表示为两个整数的平方差。因此,代码中的条件i%4==0||(i&1)==1实际上是在检查x是否为偶数((i&1)==1检查

python,先打表,找规律

摘要:解题思路:注意事项:参考代码:L,R=map(int,input().split(" "))allnumb=R-L+1no_need=0if L==1 or L==2:……