有意思的微软面试题
来源:互联网 发布:淘宝网页 编辑:程序博客网 时间:2024/05/18 01:30
每个飞机只有一个邮箱, 飞机之间可以相互加油,一箱油可供飞机绕地球半圈。一架飞机只有一个油箱,如果飞机绕地球一圈中间不停,需要至少几个飞机。
思考:
绕行一周的飞机在飞了1/4的时候必须是满油,这样再飞1/2周耗完了飞机上的油,共飞了3/4周,而可以用其他飞机逆向飞给飞机加油。
n架飞机从距离原点dis处起飞,飞行x距离,其中一架返回,n-1架飞机满油。
n - n * x / 0.5 - (x + d) / 0.5 = n - 1;
即,x = (0.5 - d) / (n + 1);
#include <stdio.h>
/*返回num架飞机,距离原点dis耗完一架飞机的油后,飞行距离*/
float dis(int num,float dis)
{
if(num ==1)return0;
return (0.5 - dis) / (num +1);
}
/*n架飞机,最后一架满油,飞行距离*/
float dis_sum(n)
{
float sum;
float d;
sum = 0;
d = 0;
while(n >1)
{
d = dis(n, sum);
sum += d;
n --;
}
return sum;
}
int main(void)
{
int n;
float sum, dis;
n = 2;
do{
dis = dis_sum(n -1);/*逆向飞机飞行距离,接机必须能返回, <0.25*/
sum = dis_sum(n) + dis +0.5;
n ++;
}while(sum <1 || dis >0.25);
printf("leaset num:%d\n", n);
return0;
}
- 有意思的微软面试题
- 一个微软面试题,有意思!!
- 有意思的面试题
- 有意思的面试题
- 有意思的面试题
- 有意思的面试题
- 有意思的面试题
- 有意思的面试题
- 一个有意思的面试题
- 一些有意思的面试题
- 一些有意思的面试题
- 一些有意思的面试题
- 几个有意思的面试题
- 一条有意思的面试题
- 一道有意思的面试题
- 微软的面试题
- 微软的面试题
- 微软的面试题
- AngularJS的学习--ng-show/ng-hide/ng-if和ng-switch
- Netty的并发编程实践2:volatile的正确使用
- Android学习 Service(一)之如何写一个最基本的Service
- 上海居住证办理(闵行)
- HTML5 的28个新特性
- 有意思的微软面试题
- SQL中 decode()函数简介
- Didectx的简单画图
- <Java>函数参数值传递与引用传递
- android工程怎样修改包名
- Ubuntu下Qt编译报错:“make: g++:命令未找到”
- 切换用户命令 su sudo
- mysql对自增id重新从1排序的两种方法
- 解决Microsoft Visual Studio 2010 Macro宏无法运行