Time Limit: 1 second
Memory Limit: 128 MB

【问题描述】

任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number。你的工作就是判断一个数N是不是Couple number。

【输入格式】

仅一行,两个长整型范围内的整数n1和n2,之间用1个空格隔开。

【输出格式】

输出在n1到n2范围内有多少个Couple number。 注意:包括n1和n2两个数,且n1<n2,n2 -="" n1="" <="10" 000="" 000。=""

【数据规模】

Sample Input1

1 10

Sample Output1

7
【题解】
这是道数论的题目;需要考虑一番。
首先假设当前判断的数字是i;
i=x^2-y^2;利用平方差公式可化为
i=(x+y)*(x-y);
然后令a=(x+y),b=(x-y);
a=x+y ···①
b=x-y ···②
①+②
x=(a+b)/2;
①-②
y=(a-b)/2;
要让正数x,y存在。则a+b,a-b一定是两个偶数。则a,b一定是同奇数或同偶数。
i=a*b;
即让乘的a和b同奇数或同偶数。
首先如果i为奇数。则一定可以。
因为i=1*i,1为奇数,i也为奇数!
然后是偶数。
偶数有两类。一类是这样的
2*(2n+1),2*(2n);
这两类中后者是一定可以的。因为2为偶数,(2n)也为偶数。则满足ab同奇或同偶。
然后前者是2*一个奇数的形式,奇数是不可能由一个偶数乘出来的,所以(2n+1)不能分解成2*(...)的形式。
这就确定了前者所属的偶数类型只能由一个奇数乘一个偶数得来。
这是不符合题意的。
然后如果概括一下就是:奇数+4的倍数(包括0);
如果出现负数按照正数的处理即可。x^2-y^2中,x和y可以调换顺序啊!
【代码】
#include <cstdio>int n1, n2,s,t,tot = 0;int main()
{scanf("%d%d", &n1, &n2); //输入区间范围。s = n1; t = n2;//确定起点和终点if (n1 < 0 && n2 < 0)//如果都小于0,则取反调换顺序s = -n2, t = -n1;if (n1 < 0 && n2>=0)//如果一个小于0一个大于等于0(注意等于),则分成两段[n1..0)[0,n2]{s = 0; t = n2;for (int i = 1; i <= -n1; i++)//先加[n1..0)这一段。if ((i % 2) == 1 || (i % 4) != 2)//奇数和4的倍数。tot++;}for (int i = s; i <= t; i++)//执行需要另外加的部分。if ((i % 2) == 1 || (i % 4) != 2)tot++;printf("%d\n", tot);return 0;
}

Sample Output1

7

转载于:https://www.cnblogs.com/AWCXV/p/7632289.html

【u020】Couple number相关推荐

  1. leetcode【537】Complex Number Multiplication(复数相乘)

    写在最前面:一道很常规的字符串分割的题 leetcode[537]Complex Number Multiplication Given two strings representing two co ...

  2. 【HDOJ】1005 Number Sequence_天涯浪子_新浪博客

    [题目]http://acm.hdu.edu.cn/showproblem.php?pid=1005 [报告] 这道明显是数学题,但如果按位枚举显然是要TLE的. 仔细思考,它有一个MOD 7,这个很 ...

  3. 【Leetcode】Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 思路:若使用[Leetcode]Reverse I ...

  4. 【Python】数据类型 Number数字、String字符串、List列表、Tuple元组、Set集合、Dictionary字典

    Python数据类型 2021/6/3 周四 学习内容: Python数据类型.Number(数字).String(字符串).List(列表).Tuple(元组).Set(集合).Dictionary ...

  5. 【leetcode79】Single Number III

    题目描述: 给定一个数组,里面只有两个数组,只是出现一次,其余的数字都是出现两次,找出这个两个数字,数组形式输出 原文描述: Given an array of numbers nums, in wh ...

  6. 【HDU】1005 Number Sequence (有点可爱)

    http://acm.hdu.edu.cn/showproblem.php?pid=1005 A number sequence is defined as follows: f(1) = 1, f( ...

  7. 【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )

    文章目录 前言 一.times 循环函数 二.upto 循环函数 三.downto 循环函数 四.step 循环函数 1.step 循环函数递增操作 2.step 循环函数递减操作 五.闭包作为参数的 ...

  8. 【LeetCode】191. Number of 1 Bits

    题目: Write a function that takes an unsigned integer and returns the number of '1' bits it has (also ...

  9. 【转】oracle number与java中long、int的对应

    2019独角兽企业重金招聘Python工程师标准>>> Oracle数据库中number类型在hibernate的引用 1)如果不指定number的长度,或指定长度n>18 i ...

最新文章

  1. 新版“峡谷第一美”妲己尾巴毛发制作分享
  2. query和prototype库冲突的解决方法
  3. 【工具相关】web-HTML/CSS/JS Prettify的使用
  4. 【tool】kali连接rdp远程桌面
  5. 网红品牌,都是“营销狗”?
  6. OCP 11G 051题库解析笔记-总
  7. Atitit 常用数据类型有哪些 目录 1.1. 数值类型 整数 小数 自增整数 1 1.2. 货币类型 1 1.3. 字符类型 字符串 2 1.4. 日期/时间类型 时间戳 2 1.5. Ur
  8. button html ios,iOS实现UIButton图标和文字上下布局
  9. caj文件转pdf、QQ文件、微信视频
  10. MSN Message协议分析
  11. 夏にありがとう(向夏天致谢)-因幡晃
  12. 2017-2018-2 《密码与安全新技术》第一周作业
  13. Win11安卓应用使用及环境配置教程
  14. led手电筒烧灯珠_LED手电筒不亮了如何进行维修
  15. JS中如何阻止事件的传播
  16. 新建项目(failed to import..)解决方法
  17. 如何用多台机器产生agent到A上。
  18. 大家都在用的福昕阅读器 foxit 你还不知道吗? 祛除水印PDF转换全功能解锁…
  19. java实现bitmap签到,BITMAP实现签到
  20. 趋肤效应实验报告_无线电能传输(课程设计报告)实验报告

热门文章

  1. 女友生日贺卡(网页),(女朋友收到后感动哭了,后来我也哭了)
  2. 详解Pyqt中设置图标
  3. chrome https self-singed
  4. [20181217]ogg抽取日志分析.txt
  5. linux中find与rm实现查找并删除目录或文件
  6. 图像滤波(Image Filtering)
  7. 2017NOIP游记
  8. nginx expires 缓存
  9. gparted使用 ubuntu_使用GParted调整ubuntu根目录空间大小
  10. 程序正常启动 telnet端口不通问题处理