一个正整数可以表示两个正整数的平方差,就称这个正整数为智慧数.(1)98是智慧数吗?(2)从1~2000这2000个正整数中,有多少个智慧数?

问题描述:

一个正整数可以表示两个正整数的平方差,就称这个正整数为智慧数.
(1)98是智慧数吗?(2)从1~2000这2000个正整数中,有多少个智慧数?

(1)设 x 为智慧数,则 x = a^2 - b^2 = (a+b)(a-b) = mn
其中 m = a+b ,n = a-b (a>b),且 a,b,m,n 均为正整数
由于 a+b 和 a-b 奇偶性相同,即 m,n 奇偶性相同,
所以可知智慧数可分解为两个奇偶性相同的因数.
由于 98 = 1*98 = 2*49 ,不能满足上述要求,所以 98 不是智慧数.
(2)另一方面,若某一正整数 x 可分解为两个奇偶性相同的因数 m,n,则
x = mn = ((m+n)/2)^2 - ((m-n)/2)^2 = a^2 - b^2
其中 a = (m+n)/2 ,b = (m-n)/2 ,(m>n),且 a,b,m,n 均为正整数
所以按定义 x 是智慧数.
综合(1)(2)可得,若一正整数 x 可分解为两个奇偶性相同的因数 m,n,则 x 是智慧数,否则不是
首先 1 不是智慧数,因为 1 = 1*1 = 1^2 - 0^2 ,而 0 不是正整数
其次大于1的奇数(设为 x )都是智慧数,因为 x = 1 * x ,1 和 x 同为奇数
再次能被4整除的偶数(设为 x)都是智慧数,因为 x = 4p = 2 * 2p ,2 和 2p同为偶数
最后只能被2整除而不能被4整除的偶数(设为 x )不是智慧数,
因为 x 只能分解为 1 * x (一奇一偶) 和 2 * p (一偶一奇)
综上所述,1 和 2与一大于2的质数的乘积(即只能被2整除而不能被4整除的偶数) 都不是智慧数
例如 1 ,6 ,10 ,14 等等.
要求1 到 2000 内智慧数,因为 1 到 1000 以内共有 168 个质数,除了2 以外共有167 个质数,所以 1 到 2000 内智慧数个数为 2000 - 1 - 167 = 1832 个