设m一个小于2006的四位数,存在正整数n,使得m-n为质数,且mn是一个完全平方数,求满足条件的所有四位数m
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 10:01:30
设m一个小于2006的四位数,存在正整数n,使得m-n为质数,且mn是一个完全平方数,求满足条件的所有四位数m
设m一个小于2006的四位数,存在正整数n,使得m-n为质数,且mn是一个完全平方数,求满足条件的所有四位数m
设m一个小于2006的四位数,存在正整数n,使得m-n为质数,且mn是一个完全平方数,求满足条件的所有四位数m
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位数 故 31
以下是这个题目的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
找到的
全部展开
以下是这个题目的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为质数 31
全部展开
首先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以后悬赏分高点啦````````
收起