解决方案 »
- java如何实现记事本中的 撤销 功能
- 连接MYSQL异常
- 在创建新的java project时候(文件中已有Welcome.java)会出现Welcome overlaps the location of anothe
- 关于ArrayList集合放对方,然后怎么测算出其内存大小呢
- 请帮帮我解决下
- 如何在一个jframe中点击按钮显示另一个jframe
- 菜鸟求教一个关于构造函数的问题,编译发生错误,哭~~~~~
- 创建自己控件的问题
- 有没有办法将Java App与JVM一起打包?
- 关于Socket编程
- 关于马士兵坦克大战的问题
- 请教这个利用JPCAP抓包的按钮监听。程序已写完且抓包成功,但有两个小问题!
public class Test{
public static void main(String[] args){
double min = Double.MAX_VALUE;
for(int x=1;x<=10;x++){
for(int y=1;y<=10;y++){
if(x!=y){
double fxy = (3*x-2*y)/(x-y);
if(fxy<min) min = fxy;
}
}
}
System.out.println(min);
}
}
y 1-10
2个for循环
所有情况都列出来,还怕求不到最小值吗
现在,数学的方式都无解了,更不要说Java的方式了
对应吧int改为double
public class Test{
public static void main(String[] args){
double min = Double.MAX_VALUE;
for(double x=1;x<=10;x+=0.001)
for(double y=1;y<=10;y+=0.001)
if(x!=y){
double fxy = (3*x-2*y)/(x-y);
if(fxy<min) min = fxy;
}
System.out.println(min);
}
}
但是这个题目愿意肯定是x,y为整数,x,y若不为整数,这个函数的最小值是负无穷。推导一下数学公式就知道了。
=(3x-3y+y)/(x-y)
=3+y/(x-y)
=3+1/[(x-y)/y]
=3+1/(x/y-1)要求结果最小,则1/(x/y-1)最小,
则x/y-1最大,
则x/y最大,
则 x最大,y最小时满足。即:x=10,y=1
j结果:28/9。不晓得对不对
则1/(x/y-1)最小,
则x/y-1最大,
这一步的前提是x/y-1为正数。如果是负数呢?