x = 0.5
n = 0
while ( abs(x - cos(x)) > 0.01) {
x = cos(x)
n = n + 1
}
print(sprintf('%i, x=%.3f, cos(x)=%.3f', n, x, cos(x))
Q2,正好刚刚回答了另一个R的质数的问题(http://zhidao.baidu.com/question/571598738),借过来用一下。这个数比较大,要运行一段时间,别着急。
Eratosthenes <- function(n) {if (n>2) {
sieve <- seq(2,n)
primes <- c()
for ( i in seq(2,n)) {
if (any(sieve == i)) {
primes <- c ( primes, i)
sieve <- c ( sieve[(sieve %% i ) != 0 ], i)
if ((i-2) %in% sieve) {
print(sprintf("%i, %i", (i-2), (i)))
}
}
}
return(primes)
} else {
print ("n > 2")
}
}
primes = Eratosthenes(1000^2)
[1] "3, 5"
[1] "5, 7"
[1] "11, 13"
[1] "17, 19"
[1] "29, 31"
[1] "41, 43"
[1] "59, 61"
[1] "71, 73"
...
算术运算
比较运算:
逻辑运算:
逻辑运算种非的优先级最高,与次之,或最低,即:!(非) → &&(与) → ||(或)
记忆口诀:not(非) and(与) or(或)
运算规则
1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。
2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。
3) ! :当运算量的值为"真"时,运算结果为"假";当运算量的值为"假"时,运算结果为"真"。
例如,假定x=5,则(x>=0) &&(x<10)的值为"真",(x<-1) || (x>5)的值为"假"。