把一个两位数的质数写在另一个两位数的质数后面得到一个四位数,已知这个四位数恰能被两个质数之和的一半整除,求出满足上述条件的四位数共多少个?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 10:47:40
把一个两位数的质数写在另一个两位数的质数后面得到一个四位数,已知这个四位数恰能被两个质数之和的一半整除,求出满足上述条件的四位数共多少个?
把一个两位数的质数写在另一个两位数的质数后面得到一个四位数,
已知这个四位数恰能被两个质数之和的一半整除,求出满足上述条件的四位数共多少个?
把一个两位数的质数写在另一个两位数的质数后面得到一个四位数,已知这个四位数恰能被两个质数之和的一半整除,求出满足上述条件的四位数共多少个?
说明:记a被b整除为a|:b或b|a.不等号记为.X为奇数简称X奇.
设二个两位数素数为p,q,
题意即100p+q=t(p+q)/2(***),且t|:1,p,q均>=11,(200-t)p=(t-2)q,
易见200-t=mq,t-2=mp,mq+mp=198,
t奇=>m奇,m=1,3,9,11
又p+q>=11+13=24,
不止四个
1353 1947 2343 2937 3729 4323 4719 5313
一共有 8 个
如果不考虑两个质数是否相同的话,是29个
代码如下:
# include
bool fun(int n)
{
for (...
全部展开
不止四个
1353 1947 2343 2937 3729 4323 4719 5313
一共有 8 个
如果不考虑两个质数是否相同的话,是29个
代码如下:
# include
bool fun(int n)
{
for (int i=2;i
return 0;
return 1;
}
int main()
{
int i,n,num=0;
for (i=1000;i<10000;i++)
if ((fun(i/100)&&fun(i%100))&&(i/100>10&&i%100>10)&&(i/100!=i%100))
if (i%((i/100+i%100)/2)==0)
{
printf("%10d",i);
num++;
}
printf("\n一共有 %d 个\n",num);
}
收起
4个
设两个质数分别为A,B
有:(100A+B)/[(A+B)/2]为整数
化简:(2*3*3*11A)/(A+B)+2为整数
2*3*3*11A是A+B的倍数
因A+B的和一定是大于20的自然数,且不是A的倍数
可知A+B可能为33,66,99
这其中只有66合题意,因为A,B都是质数,且者是两位数,所以必是两个奇数,它们的和必是偶数。<...
全部展开
4个
设两个质数分别为A,B
有:(100A+B)/[(A+B)/2]为整数
化简:(2*3*3*11A)/(A+B)+2为整数
2*3*3*11A是A+B的倍数
因A+B的和一定是大于20的自然数,且不是A的倍数
可知A+B可能为33,66,99
这其中只有66合题意,因为A,B都是质数,且者是两位数,所以必是两个奇数,它们的和必是偶数。
和为66的两个质数只能是23和43,或13和53,这四个四位数是
2343
4323
1353
5313
对,应该还有19和47,37和29,这样也能组成四个
1947,1497,3729,2937
收起