20/01/13 07:27:15.84 VTAeR0gZ.net
>>539
1,2,4から始めて、20個の場合を探索してみた。
1 2 4 5 10 11 13 14 28 29 31 32 37 38 40 41 82 83 85 86
M=2020として最大値が10000を超えないことがわかればいいけど、マシンパワーが足りないから無理。
rm(list=ls())
p3c <- function(x){ # pick 3 numbers and check if arithmatic sequence
is.as3 <- function(x) diff(x)[1]==diff(x)[2] # 等差かを返す
is.as=function(y) is.as3(c(x[y[1]],x[y[2]],x[y[3]])) # 組み合わせのindexに相当する3個の数が等差か?
n=length(x)
any(combn(n,3,is.as)) # 等差の3つが選べるか
}
M=20
a=c(1,2,4)
i=5
AS=FALSE
while(length(a) < M){
a=append(a,i)
AS=p3c(a)
if(AS){
a=a[-length(a)]
}
i=i+1
}
a