R语言案例

题目 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

代码:

high<-200.

total<-100

for (i in 1:11){

  high<-high/2

total<-total+high

print(paste0("这是第", i-1,"次的高度为:",high,"米"))

}

print(paste0 ("总长:",total,"米"))

输出结果:

[1] "这是第0次的高度为:100米"
[1] "这是第1次的高度为:50米"
[1] "这是第2次的高度为:25米"
[1] "这是第3次的高度为:12.5米"
[1] "这是第4次的高度为:6.25米"
[1] "这是第5次的高度为:3.125米"
[1] "这是第6次的高度为:1.5625米"
[1] "这是第7次的高度为:0.78125米"
[1] "这是第8次的高度为:0.390625米"
[1] "这是第9次的高度为:0.1953125米"
[1] "这是第10次的高度为:0.09765625米"

[1] "总长:299.90234375米"


猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析按规则反向推断:猴子有一个桃子,他偷来一个桃子,觉得不够又偷来了与手上等量的桃子,一共偷了9天。

代码为:

peach=1

for( i in 1:9)

  peach=(peach+1)*2

  print(paste0 ("开始的时候有", peach,"个桃子"))

输出为:

[1] "开始的时候有1534个桃子"

你可能感兴趣的:(R语言案例)