行业知识
蓝桥杯2023年-平方差(数学)
2026-11-15 01:14:00
来源:互联网转载
题目描述
index.php/tags-41973.html" >���定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 x = y2 − z2。
()思路
首先想到:x²-y²=(x+y)(x-y),首先如果是奇数2*n+1,肯定可以分成(n+1+n)*(n+1-n)的形式,所以奇数是肯定可行的,然后是偶数2*n,如果凑成(x+y)*(x-y)的形式,则(x+y)或(x-y)中的一个肯定是偶数,并且当一个是偶数时,另一个也肯定是偶数。所以肯定是4的倍数的偶数才符合条件。
所以可以直接算出从1到n中有多少个数是4的倍数(n/4),有多少个数是奇数((n+1)/2)。
()代码:
#includeusing namespace std;int main(){ int a,b; cin>>a>>b; a--;//不包含的范围,所以要去除边界。 int l=a/4+(a+1)/2; int r=b/4+(b+1)/2; cout
上一篇:vivo手机软件下载指南
下一篇:方舟怎么删除收藏的服务器?