Алгоритм среднего квадрата в R - PullRequest
0 голосов
/ 18 декабря 2018

Я боролся с этим некоторое время.Я пытаюсь сделать алгоритм среднего квадрата, но я не могу заставить его работать по какой-то причине.Я довольно новичок в 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 голосов
/ 18 декабря 2018

Вот ваша ошибка.Вы создаете числовую последовательность.

part=(partstart:partend)

Измените ее на

part=find[partstart:partend]

Для вашего примера результат должен дать

345689 500884 884781 837417 267231 124073 941093 656034 380609 863210 131504
...