一个数学问题
2018-04-02 00:00
281 查看
问题如下:
代码如下:
/** * 已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) * 一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? * (所有飞机从同一机场起飞,而且必须安全 返回机场,不允许中途降落,中间没有飞机场) */
代码如下:
public class Mathtest3 {
public static void main(String[] args) {
wenti2();
}
/** * 已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) * 一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? * (所有飞机从同一机场起飞,而且必须安全 返回机场,不允许中途降落,中间没有飞机场) */
static void wenti2() {
int zongjuli = 100; // 这个表示总共的距离.
int youxiang = 50; // 这个表示邮箱大小
for(int i = 5; i < youxiang/2; i++) {
System.out.println("前段加油:" + i + " , 总共需要出动飞机多少架:" + (qianduanxuyaodefeijishuliang(i) + houduanxuyaodefeijishuliang(i)));
}
}
// 前段需要的飞机数量
static int qianduanxuyaodefeijishuliang(int x) {
int nengjiayou = 50 - (2 * x);
int kejiayou = x;
if(nengjiayou > kejiayou) {
return 1;
}
else if(nengjiayou > 0) {
return kejiayou % nengjiayou == 0 ? kejiayou/nengjiayou : kejiayou/nengjiayou + 1;
}
else {
return 100000;
}
}
// 后段需要的飞机数量
static int houduanxuyaodefeijishuliang(int x) {
int juli = x;
int feiji = 1;
while(juli < 50) {
// 来一架飞机
feiji ++;
// 能前进距离
int qianjin = (50 - (50-juli))/feiji;
// 现在的距离
juli = juli + qianjin;
}
return feiji - 1;
}
}
相关文章推荐
- Cake - 一个数学问题
- 庞涓VS孙膑——一个很难的数学问题
- 一个数学问题
- 一个奇奇怪怪的数学问题
- 一个数学建模的目标规划问题:奥运会商圈规划问题
- 平面中能否写下不可数个8?——一个有趣的数学问题
- 一个简单的数学问题
- 对一个简单数学问题的浮想
- 一个隐秘而伟大的有趣的数学问题
- 怎样才能把一个代码变成软件成品?一个初学者的困惑,我们写的代码都只能是解决一些数学问题而已。怎么把它变成一个软件。
- 今天遇到一个数学问题
- 一个数学小问题
- 计算机科学与技术学习心得之计算机理论的一个核心问题--从数学谈起(转载)
- 9.在数学计算或数字分析中,经常会用到计算两个数的最大公约数的问题。即:输入两个正整数,当两个数字有一个不是正整数时会产生异常。当输入非整数数字时,也产生异常。输入无错误后,可计算两个数的最大公约数。
- 一个完全超出数学一切能力的问题
- 一个用程序解决数学问题的网站
- 计算机科学与技术学习心得之计算机理论的一个核心问题--计算数学基础(转载)
- Linuxc 下用穷举算法求解爱因斯坦的一个数学问题
- acm 一个数学问题
- 日本著名数学游戏专家中村义作教授提出这样一个问题:将2520个桔子分给六个儿子