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

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

筛选

python,先打表,找规律

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

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

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

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

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

去掉余数为2的数即可

关键在于,如何判断某个数是不是平方差```c++#includeusingnamespacestd;boolfunction(intx){boolres=false;if(x%2==1&&x>=3)res=true;if(x>=8&&x%4==0)res=true;returnres;}intmain

纯规律,不使用循环

摘要:解题思路:找到规律,不能被平分差的数的是 (x-2)%4 == 0, 然后判断 L,R中有多少个这样的数注意事项:参考代码:#include<bits/stdc++.h>#define ikun co……

平方差python解

解题思路:只有当x为奇数或4的倍数时才能拆分为两个数的平方差。注意事项:x-(x//2)求奇数的个数x//4求4的倍数的个数为了计算范围[L,R]内满足条件的数目,减去f(L-1)的目的是排除掉范围[1,L-1]中的数。这是因为题目中要求的是在[L,R]范围内的数目,而不是包括[1,L-1]的数目。