a、b、c皆为质数,且a+b+c=94,ab+bc+ca=2075,求abc的值.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 12:03:51
a、b、c皆为质数,且a+b+c=94,ab+bc+ca=2075,求abc的值.

a、b、c皆为质数,且a+b+c=94,ab+bc+ca=2075,求abc的值.
a、b、c皆为质数,且a+b+c=94,ab+bc+ca=2075,求abc的值.

a、b、c皆为质数,且a+b+c=94,ab+bc+ca=2075,求abc的值.
a+b+c=94是偶数
且都是质数
所以有一个是2
令a=2
b+c=92
ab+bc+ca=2075
2(b+c)+bc=2075
bc=2075-2*92=1891
所以abc=2*1891=3782

由于a、b、c皆为质数,且a+b+c=94是偶数,所以必有一个数是2,不妨设a=2,则有b+c=92,2b+bc+2c=2075,解得
b=31,c=61。所以三个数分数分别是2、31、61。

因为a+b+c=94(为偶数)而且a、b、c皆为质数, 所以a、b、c必有一数是偶数,那么这个数肯定是2(所有质数只有2是偶数) ,这样,剩下来的两个数字的组合就很有限了,可以自己尝试一下,用枚举法

3782
这三个数分别为:2,31,61
我是用计算机解的。这种解法的优点是,把这两个算式右侧的数字随便改成其他的,也能很快算出来
#include "stdio.h"
#include "stdlib.h"
#define CONST1 94
#define CONST2 2075
bool isZhiShu(int m)
{

全部展开

3782
这三个数分别为:2,31,61
我是用计算机解的。这种解法的优点是,把这两个算式右侧的数字随便改成其他的,也能很快算出来
#include "stdio.h"
#include "stdlib.h"
#define CONST1 94
#define CONST2 2075
bool isZhiShu(int m)
{
for(int n=2;n {//判断m是否为质数
if(n%m==0)
{//能除净,不是质数
return false;
}
}
return true;
}
int main(int argc, char* argv[])
{
int a,b,c;
for(a=2;a {
if(!isZhiShu(a))
{//不是质数,继续找
continue;
}
for(b=2;b {
if(!isZhiShu(b))
{//不是质数,继续找
continue;
}
c=CONST1-a-b;
if(!isZhiShu(c))
{//不是质数,继续找
continue;
}
if(a*b+b*c+c*a==CONST2)
{
return a*b*c;
}
}
}
return 0;
}

收起