x <- 17
waru <- 2:(x-1)
waru
amari <- x%%waru
amari
zerodesuka <- amari == 0
zerodesuka
subete0 <- all(zerodesuka)
subete0
subete0denai <- !(subete0)
subete0denai
prod(amari) != 0
>
> x <- 17
> waru <- 2:(x-1)
> waru
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
> amari <- x%%waru
> amari
[1] 1 2 1 2 5 3 1 8 7 6 5 4 3 2 1
>
>
> zerodesuka <- amari == 0
> zerodesuka
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
>
> subete0 <- all(zerodesuka)
> subete0
[1] FALSE
>
> subete0denai <- !(subete0)
> subete0denai
[1] TRUE
>
> prod(amari) != 0
[1] TRUE
>
> subete0denai <- !(subete0)
> subete0denai
[1] FALSE
x%%(2:(x-1))
(x%%(2:(x-1))) = 0
all((x%%(2:(x-1))) == 0)
!(all((x%%(2:(x-1))) == 0))
>
> x%%(2:(x-1))
[1] 1 2 1 2 5 3 1 8 7 6 5 4 3 2 1
> (x%%(2:(x-1))) == 0
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> all((x%%(2:(x-1))) == 0)
[1] FALSE
> !(all((x%%(2:(x-1))) == 0))
[1] TRUE
sosu <- function(x) if(x==1){FALSE}else if(x==2){TRUE}else{!any(x%%(2:(x-1))==0)}
- 円周率の計算
- 半径1の円の面積は
- 1辺の長さが2の正方形に内接する円は半径1の円
- 1辺の長さが2の正方形上の点を格子上に発生させて
- その中心からの距離を測り
- それが1未満であるような点が正方形上の点に占める割合を計算する
- 1辺2の正方形の面積が4なので、この割合に4を掛ければそれはの近似値
kizami <- 10
s <- seq(from = 0, to = 2, length=kizami)
s
rep.num <- kizami
x <- rep(s,rep.num)
y <- rep(s,each=rep.num)
plot(x,y)
x_1 <- x-1
y_1 <- y-1
r.sq <- x_1^2 + y_1^2
inside <- which(r.sq<1)
inside.num <- length(inside)
all.num <- length(x)
fraction <- inside.num/all.num
fraction * 4
- kizami=10で2.4、kizami=100 で3.0672、kizami=1000で3.135056、kizami=10000で3.140954