JavaScript趣题:缺水危机
2016-08-24 15:24
267 查看
亲爱的各位居民:
我是村长,告诉大家一个坏消息,村子最近面临缺水的问题。
这里有一份名单,上面有村民们的年龄信息。
不同的年龄段生活用水量都不同:18岁以下的大概是1升每天,18到50岁以下的是2升每天,50岁及以上的是1.5升。
现在村子的水源储备有N升,为了防患于未然,求助于大家。
如果按照目前的消耗速度,我们还能维持多久?
任务来了:
写一个函数,接收2个参数,第一个是表示储备量N的water,第二个是表示年龄列表的ageOfDwellerArray。
返回代表天数的正整数,返回-1如果村子中没有居民(ageOfDwellerArray为空)。
思路:
首先,根据村长的话,做配置,分为未成年人,成年人,老年人三个层次。
var info = {
child : {consume : 1,range : [0,18]},
adult : {consume : 2,range : [18,50]},
old : {consume : 1.5,range : [50,200]},
};然后,根据年龄列表和上面的配置对象,计算每天的总消耗量。
最后,用总储备量除以每天消耗量即可算出维持的天数。
function thirstyIn(water, ageOfDwellerArray) {
var consumePerDay = 0;
for(var i=0;i<ageOfDwellerArray.length;i++){
for(var j in info){
var type = info[j];
var range = type.range;
if(ageOfDwellerArray[i] >= range[0] && ageOfDwellerArray[i] < range[1]){
consumePerDay += type.consume;
break;
}
}
}
return consumePerDay ? Math.floor(water / consumePerDay) : -1;
}
我是村长,告诉大家一个坏消息,村子最近面临缺水的问题。
这里有一份名单,上面有村民们的年龄信息。
不同的年龄段生活用水量都不同:18岁以下的大概是1升每天,18到50岁以下的是2升每天,50岁及以上的是1.5升。
现在村子的水源储备有N升,为了防患于未然,求助于大家。
如果按照目前的消耗速度,我们还能维持多久?
任务来了:
写一个函数,接收2个参数,第一个是表示储备量N的water,第二个是表示年龄列表的ageOfDwellerArray。
返回代表天数的正整数,返回-1如果村子中没有居民(ageOfDwellerArray为空)。
思路:
首先,根据村长的话,做配置,分为未成年人,成年人,老年人三个层次。
var info = {
child : {consume : 1,range : [0,18]},
adult : {consume : 2,range : [18,50]},
old : {consume : 1.5,range : [50,200]},
};然后,根据年龄列表和上面的配置对象,计算每天的总消耗量。
最后,用总储备量除以每天消耗量即可算出维持的天数。
function thirstyIn(water, ageOfDwellerArray) {
var consumePerDay = 0;
for(var i=0;i<ageOfDwellerArray.length;i++){
for(var j in info){
var type = info[j];
var range = type.range;
if(ageOfDwellerArray[i] >= range[0] && ageOfDwellerArray[i] < range[1]){
consumePerDay += type.consume;
break;
}
}
}
return consumePerDay ? Math.floor(water / consumePerDay) : -1;
}
相关文章推荐
- JavaScript趣题:排列组合实战
- JavaScript趣题:统计二进制
- JavaScript趣题:点、线、面
- JavaScript趣题:帮邮递员分类地址
- JavaScript趣题:创建电话号码
- JavaScript趣题:密码验证
- JavaScript趣题:斐波那契数列生成器
- JavaScript趣题:统计降水量
- JavaScript趣题:减肥俱乐部
- JavaScript趣题:全排列去重
- JavaScript趣题:找出凶手
- 编程之战第十一章 缺水危机
- JavaScript趣题:买车子
- JavaScript趣题:计算方差
- JavaScript趣题:Jaden Smith
- JavaScript趣题:求解最大子数组之和
- JavaScript趣题:弹力球
- JavaScript趣题:形参和实参的映射
- JavaScript趣题:质数之差
- 从HTML Components的衰落看Web Components的危机 HTML Components的一些特性 JavaScript什么叫端到端组件 自己对Polymer的意见