我一直为此苦苦挣扎。我正在尝试制作一个中间方算法,但由于某种原因我无法使其工作。我对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
答案 0 :(得分:1)
这是您的错误。您正在创建一个数字序列。
part=(partstart:partend)
更改为
part=find[partstart:partend]
以您的示例为例,结果应该产生
345689 500884 884781 837417 267231 124073 941093 656034 380609 863210 131504