我正在尝试通过循环打印列表中的偶数计数,但没有得到任何结果,我尝试过:
将数字分配到:
a<-31415926535427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533"
然后我把它们分开:a.c<-strsplit(piestring.c, "")
然后我取消列出它们:a.cu<-unlist(piestring.c, recursive = TRUE, use.names = TRUE)
然后我将它们转换为数字:a.cn<-as.numeric(a.cu)
然后我检查它是否可以获得偶数:for (stev in piestring.cn) {
if (stev %% 2 == 0) {
print(stev)
}
}
然后我尝试设置计数器:counter <- 0
for (stev in a.cn) {
if (sten %% 2 == 0) {
counter <- counter + 1
}
}
我没有得到任何结果,有没有更简单的方法来计算偶数,然后在前 50 位打印偶数的计数?
最佳答案
如果您对个位数偶数感兴趣,您可以在 stringr
图书馆:
str_count(a, "0|2|4|6|8")
[1] 186
如果您对前 50 个数字感兴趣:str_count(str_sub(a, 1, 50), "0|2|4|6|8")
[1] 22
关于r - 计算 R 中列表或向量中的偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64053839/