这在面试资料上看到这个题的,其实这里都没提是直接数学运算还是程序中的四则运算,两者是有区别的
比如数学中3除以8得到的是一个分数,而程序中的3/8就为0了,这里暂且我们就用程序的方式来。
public class TestA {
public static void main(String[] args) {
int a = 8*8/3+3;
/**
* 8*8=64
* 8*8/3=64/3=21取整除部分
* 21 + 3 = 24
*/
System.out.println("a=" + a);//24
}
}
这样就得到了我们的结果,但是,有没有这样的可能,要求顺序就为3388了。3*8=24得到这个思路就要做了:
public class TestA {
public static void main(String[] args) {
int b = (3+3/8)*8;
/**
* 根据运算符优先级,3/8 = 0
* (3+3/8)=3
* (3+3/8)*8=3*8=24
*/
System.out.println("b=" + b);//24
}
}
如果是数学角度的话:
8 ÷ (3-8÷3) = 24;