目录
- 题目描述
- 对于一个整数 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
- 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<
- return 0;
- }
结语
那么这期就到此为止,下期再见,拜拜……(说实话,最近的博文的确有点水,没办法,网课所迫,但你们放心,什么时候放假了,就给你们一篇上古佳作!!!)
PS:没想到这道题这么简单,竟然还有二分之一的人没有过,这真是太不可思议了,说实话,我看到测试点范围时也被吓了一跳,但,经过我聪明的理解,其实,范围是“假”的,呃,如果不“假”好像也入不了“普及-”……下期写什么,你们写在评论区吧,我是真的懒得去翻洛谷,所以,就拜托大家啦,好了不说了,我们下一篇再见,ヾ( ̄▽ ̄)Bye~Bye~!!!