21/02/13 13:42:33.26 HI+qRV56.net
# お菓子の個数の差の最小値の約数が条件(1以上の等しい数で余る)を満たすかを調べる
CALC <- function(...){
x=c(...)
re=NULL
for(d in numbers::divisors(min(combn(length(x),2,function(i) abs(diff(x[i])))))){
r=x%%d
if(sum(r)!=0 & length(unique(r))==1) re=c(re,d)
}
re
}
CALC(62,78,38)
CALC(123,756,789)
icecream=123
chocolate=456
pudding=789
candy=NULL
upper=100
for (i in 2:upper) {
kid=CALC(icecream,chocolate,pudding,i)
print(kid)
if(length(kid)) candy=c(candy,i)
}
candy
CALC(icecream,chocolate,pudding,100)