M可以是1156,1296,1369,1600,1764共计五中可能。
必须肯定的是,楼上的思路和做法都不错,就是有点计算错误。
现改正如下:
首先m-n是m和n的最大公约数的倍数(这句话应该不用解释,不理解的话就设m=a*d,n=b*d,d为m和n的最大公约数), 那么他们的最大公约数只能是1或者一个质数(设为p)
若最大公约数(m,n)=1 而mn为平方数 则m ,n各自为平方数
设m=a*a n=b*b m为小于2006的4位数 故 31p=a*a-b*b=(a-b)(a+b) p为质数 故a-b =1, a+b 是质数
也就是2a-1为质数 31这是分别可以求得对应的m值为1156,1296,1369,1600,1764共计五中可能。
若(m,n)=p 则设m'=m/p n'=n/p
则m'-n'=1, m*n=p*p*m'*n' 也是完全平方数,所以m'*n'也是完全平方数, n'*n'<=n'*( n'+1)=n' =m'*n'<( n'+1)* ( n'+1),左边的等号只能在n=0是取得,n不能等于0,所以m'*n'不会是完全平方数。矛盾,所以(m,n)=p不成立。
综上m可以是1156,1296,1369,1600,1764。
以下是这个题目的MATLAB代码
k=1;
for m=1000:2005
for n=1:m
if (isprime(m-n))&(~mod(sqrt(m*n),round(sqrt(m*n))))
M(k)=m;
N(k)=n;
k=k+1;
break;
else
end
end
找到的
m有 1156 1296 1369 1600 1156 1296 1369 1600 1764
相应的n
1089 1225 1296 1521 1089 1225 1296 1521 1681
首先m-n是m和n的最大公约数的倍数 那么他们的最大公约数只能是1或者这个质数(设为p)
若最大公约数(m,n)=1 而mn为平方数 则m n各自为平方数
设m=a*a n=b*b m为小于2006的4位数 故 31p=a*a-b*b=(a-b)(a+b) p为质数 故a-b =1 a+b 是质数
也就是2a-1为质数 31m=37*37=1369 n=36*36=1296 m-n=73 mn=(37*36)的平方
若(m,n)=p 则设m'=m/p n'=n/p
则m'-n'=1 m'*n'=(mn)/(p*p) 也是完全平方数 而且(m',n')=1
因此m'=a*a n'=b*b
a*a-b*b=1故a=1 b=0 这和n是整数矛盾
总之 所求的m只有1369一种可能
ps以后悬赏分高点啦````````