目录
题目
题目描述
对于一个整数 nn,若存在两个自然数 x, yx,y,满足 n = x^2 - y^2n=x
2
−y
2
,则称 nn 是 Couple number。
给出 a,ba,b,请求出 [a, b][a,b] 范围内有多少个 Couple number。
输入格式
输入只有一行两个整数,分别表示 a, ba,b。
输出格式
输出一行一个整数表示答案。
输入输出样例
输入 #1
1 10
输出 #1
7
嘿嘿,超简单的数学题!!!
(算法分析)
step 1:a^2-b^2=(a+b)(a-b)=>a+b与a-b奇偶性相同
step 2:所以(a+b)(a-b)要么是奇数,要么是4的倍数
step 3:couple number要么是奇数,要么是4的倍数
step 4:验证:若n=2k-1,则(a+b)(a-b)=2k-1
a+b=2k-1, a-b=1, a=k, b=k-1正确!
若n=4k,则(a+b)(a-b)=4k, a+b=2k, a-b=2, a=k+1, b=k-1正确!
(温馨提示)题目说是整数,而非正整数,所以不用特判!
答案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n1,n2,i,ans=0;
cin>>n1>>n2;
for(i=n1;i<=n2;i++) if(i%4==0||i%2!=0) ans++;
cout<<ans<<endl;
return 0;
}
结语
那么这期就到此为止,下期再见,拜拜……(说实话,最近的博文的确有点水,没办法,网课所迫,但你们放心,什么时候放假了,就给你们一篇上古佳作!!!)
PS:没想到这道题这么简单,竟然还有二分之一的人没有过,这真是太不可思议了,说实话,我看到测试点范围时也被吓了一跳,但,经过我聪明的理解,其实,范围是“假”的,呃,如果不“假”好像也入不了“普及-”……下期写什么,你们写在评论区吧,我是真的懒得去翻洛谷,所以,就拜托大家啦,好了不说了,我们下一篇再见,ヾ( ̄▽ ̄)Bye~Bye~!!!