R中的中间平方算法

时间:2018-12-18 13:21:24

标签: r random

我一直为此苦苦挣扎。我正在尝试制作一个中间方算法,但由于某种原因我无法使其工作。我对R相当陌生,所以我对它还没有那么自信。

seed=123456890
nxt=seed
find=as.character(nxt)
find=as.numeric(unlist(strsplit(find,"")))
max=length(find)
middle=ceiling(max/2)
partstart=middle-2
partend=middle+3
part=(partstart:partend)
part=as.numeric(paste(part,collapse=""))
gens=c(part)

for(i in 1:10){
    nxt=part^2
    find=as.character(nxt)
    find=as.numeric(unlist(strsplit(find,"")))
    max=length(find)
    middle=ceiling(max/2)
    partstart=middle-2
    partend=middle+3
    part=(partstart:partend)
    part=as.numeric(paste(part,collapse=""))
    gens=c(gens,part)
}
cat(gens)

运行代码时,这是输出:

345678 456789 456789 456789 456789 456789 456789 456789 456789 456789 456789

1 个答案:

答案 0 :(得分:1)

这是您的错误。您正在创建一个数字序列。

part=(partstart:partend)

更改为

part=find[partstart:partend]

以您的示例为例,结果应该产生

345689 500884 884781 837417 267231 124073 941093 656034 380609 863210 131504