用R语言编程解决鸡兔同笼问题

Python013

用R语言编程解决鸡兔同笼问题,第1张

headers=35

feet=94

tu=(feet-headers*2)/2

tu # 显示兔子数量为 12

ji=headers-tu

ji # 显示鸡的数量为 23

编写为函数形式:

jitutonglong=function(x,y)

{

tu=y/2-x

ji=x-tu

print(paste("鸡有",ji,"只"))

print(paste("兔子有",tu,"只"))

}

计算:

jitutonglong(35,94)

结果为:

>jitutonglong(35,94)

[1] "鸡有 23 只"

[1] "兔子有 12 只"

#1.如果总体是自然数这样的等差数列,可以直接利用seq函数挑出奇数(或偶数):

n <- 1:100

( ji <- seq(from=1,to=100,by=2) )

( ou <- setdiff(n,ji) )

rm(ji)rm(ou)

#2.如果总体是杂乱无章的集合,可以写个小函数判断某个数的奇偶:

jishu <- function(x){

ifelse(x%%2 ==0,F,T)

}

( ji <- n[jishu(n)] )

( ou <- n[!jishu(n)] )

#通过上面的任一一种方法将总体的奇数偶数区分开,接下来就可以使用sample函数抽样了:

sample(ji,5)