设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 14:06:11
设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX

设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX
设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX

设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX
public class Test0412 {
/**
* 设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX
* 找到将3进制转换为10进制的方法:
* 举例1,(100)3 = 0*3^0 + 0*3^1 +1*3^2 = 0+0+9 = (9)10
* 举例2,(022)3 = 2*3^0 + 2*3^1 +0*3^2 = 2+6+0 = (8)10
* 将10进制转3进制的方法:
* 举例1,(9)10 = (100)3
* 9/3 = 3……0 (0)个位
* 3/3 = 1……0 (0)十位
* 1/3 = 0……1 (1)
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassForTest0412 cl = new ClassForTest0412(); // 实例对象(需要调用这个类中的方法,这个类写在下面啦.)
//声明变量
int xy; //加数
int zx; //加数
int xyz; //和
int x,y,z; //三进制数
int product10; //积(10进制)
int product3; //积(3进制)
boolean isBreak; //循环条件
//循环判断
isBreak = false; //初始为否
for (x = 0; x < 3 ; x++){ //第1循环
for (y = 0;y < 3 ; y++ ){ //第2循环
for (z= 0; z < 3 ; z++){ //第3循环
//调用方法求出值(10进制的)
xy = y*cl.Power(0)+x*cl.Power(1);
zx = x*cl.Power(0)+z*cl.Power(1);
xyz = z*cl.Power(0)+y*cl.Power(1)+x*cl.Power(2);
//以下6句不必写在程序里,我用来手算答案的.
System.out.println("\n x:"+x); //1
System.out.println("y:"+y); //2
System.out.println("z:"+z); //3
System.out.println("xy:"+xy); //4
System.out.println("zx:"+zx); //5
System.out.println("xyz"+xyz); //6
//判断
if (xyz == xy+zx && x != y && x != z && y !=z ){ //符合
product10 = xy * zx; //计算积(10进制)
//以下6句不必写在程序里,我用来手算答案的.
System.out.println("x:"+x); //1
System.out.println("y:"+y); //2
System.out.println("z:"+z); //3
System.out.println("xy:"+xy); //4
System.out.println("zx:"+zx); //5
System.out.println("xyz"+xyz); //6
//调用方法得出3进制的积
product3 = cl.GetThreeNotation(product10);
//调用方法进行拆位
int length =(product3+"").length();
int oneOfProduct [] = cl.GetArray(product3,length);
//对拆位后的三进制积判断,并输出
System.out.print("设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX =");
for (int i = length -1 ; i >= 0; i--){
if (oneOfProduct [i] == x ){
System.out.print("X");
}else if (oneOfProduct [i] == y){
System.out.print("Y");
}else{
System.out.print("Z");
}
}
isBreak = true;
break; //跳出第3循环
}
}
if (isBreak == true){
break; //跳出第2循环
}
}
if (isBreak == true){
break; //跳出第1循环 PS.总觉得这跳出循环的方法有点傻,有没有其他的做法?
}
}
}
}
//这个就是上面调用的类
public class ClassForTest0412 {
/**
* 10进制转3进制的方法
* PS:
* 我想过将这个方法返回为数组,省得等下又要拆位,不过,我MS找不出数组的长度呃.
* 先找出长度再返回,就更麻烦了.因为找长度的时候,等于就已经求出3进制数了呃
* 应该有更好的方法的,不过我没想到而已,或者,我还没学到 - -|我是初学者.
* @param num
* @return
*/
public int GetThreeNotation(int product10){
int result = 0; //结果
int i = 1; //位数
for (;product10 > 0; ){
result += product10 % 3 * i; //取余
product10 = product10 / 3; //去余
i *= 10; //根据循环次数判断位数
}
return result;
}
/**
* 将三进制的积拆位,存入数组
* @param product3
* @param length
* @return
*/
public int [] GetArray(int product3,int length){
int [] oneOfProduct = new int [length];
for (int i = 0; i

设X、Y、Z分别代表三进制下的一位数字,若等式X Y+ZX=XYZ在三进制下成立,那么同样在三进制下,等式X Y*ZX 设X、Y、Z分别代表三进制下的一位数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY*ZX=( )也成立.A.YXZ B.ZXY C.XYZ D.XZY X.Y.Z分别代表那个方向? X Y Z分别代表三个数,根据下面的提示,请分别填出这三个数.X+X=Y+Y+YY+Y+Y=Z+Z+Z+ZX+Y+Z+Z=40X=?Y=?Z=? X,Y,Z分别代表1-9中的任意一个数字,xx+yy+zz=xyz,问xyz分别是多少 字母代表的路段含义.G S X Y Z C D 分别代表什么路段? 成功的秘诀W=X+Y+Z其中,分别代表什么分别说出W是什么,Y是什么,Z是什么 魔方CFOP中,x y z分别代表什么? 我的世界的坐标X,Y,Z分别代表什么? 爱因斯坦在谈成功秘诀的时候写下了一个公式:A=x+y+z,其中A代表成功,x,y,z分别代表? 一个变量分别对x y z的二阶偏微分之和代表什么意义如图所示~ x,y,z分别代表三个不同的数,且X+X=x=y+y,y+y+y+y=z+z+z,x+y+y+z=60 ,那么Y+X+Z=?刚我打错了是X+X+X=Y+Y 因式分解:(x+y+z)^5-x^5-y^5-z^5其中字母后的数字代表此字母的次方数,各位可在草稿纸上先做. 设u=f(x,y,z)有连续的一阶导数,又函数y=(x)及z=z(x)分别由下列两式确定: 设z=z(x,y)是由方程ax+by+cz=F(x^2+y^2+z^2)所确定的函数,求证:(cy-bz)z'...x+(az-cx)z'...y=bx-ay,其中设z=z(x,y)是由方程ax+by+cz=F(x^2+y^2+z^2)所确定的函数,求证:(cy-bz)z'...x+(az-cx)z'...y=bx-ay,其中z'...x,z'...y分别表示z 设x,y满足约束条件 分别求 1.Z=6x+3y 2.Z=2x-y 3.Z=-x+y的最大值 x-4y≤-3 3x+5y≤25 x≥3设x,y满足约束条件 分别求 1.Z=6x+3y 2.Z=2x-y 3.Z=-x+y的最大值x-4y≤-33x+5y≤25x≥3 .WXYZ是一个四位数.W,X,Y,和Z 分别代表不同的数字,它们是依照如下几条规则建立的:1) x = w + y +z 2)w = y + 1 3)z = w - 5这个四位数是什么? A代表成功;X代表艰苦的工作;Y代表休息;Z代表少说废话.是什么意思?