O "primo sapo" é um animal estranho que salta entre números inteiros, até chegar aos 3 ou 19 anos ...
Seu programa deve aceitar um número inteiro ncomo entrada e gerar o resultado do algoritmo abaixo ( 3ou 19).
Para um dado inteiro n >= 2:
- Let
fSer a posição do sapo. É inicialmente definido comon - se
f = 3ouf = 19: o sapo para de pular - interrompe o programa e a saídaf. - se
ffor primo: o sapo pula para a posição2×f-1. Volte para a etapa 2. - se
ffor composto:dsejafo maior divisor principal de s. O sapo pula para a posiçãof-d. Volte para a etapa 2.
Exemplos:
Um exemplo com n = 5:
5 > 9 > 6 > 3 stop
O programa deve sair 3.
Outro exemplo com n = 23:
23 > 45 > 40 > 35 > 28 > 21 > 14 > 7 > 13 > 25 > 20 > 15 > 10 > 5 > 9 > 6 > 3 stop
Novamente, o programa deve sair 3.
Casos de teste:
10 => 3
74 => 19
94 => 3
417 => 3
991 => 19
9983 => 19
Você pode assumir 1 < n < 1000000(verifiquei o programa termina para esses valores).
3ou 19, poderíamos alterar o item 2. no algoritmo para dizer que, se o sapo entrou em qualquer loop (encontrou uma posição que já havia visto antes), ele interrompe o salto e retorna o menor membro desse loop.
