1, dezenas quadradas
Os 10 dígitos de 0 a 9 não são repetidos ou omitidos e podem ser compostos por muitos 10 dígitos. Muitos desses também são números quadrados (o quadrado de um determinado número). Por exemplo: 1026753849 é o menor número quadrado entre eles. Por favor, descubra o maior número quadrado entre eles? Nota: Você precisa enviar um número de 10 dígitos, não preencha nenhum conteúdo extra.
Resultado: 19028547136
0-9 são organizados na íntegra, compostos por dez dígitos, se a função sqrt em Math é um número inteiro, julgue
static int arr[]= {9,8,7,6,5,4,3,2,1,0};
static int visited[]= {0,0,0,0,0,0,0,0,0,0};
public static void main(String[] args) {
dfs(0);
}
public static void dfs(int offset) {
if(offset==10) {
long a=01;
for(int i=0;i<10;i++)
{
a=a*10+arr[i];
}
long sq=(long)Math.sqrt(a);
if(sq*sq==a)
{
System.out.println(a);
return;
}
}
for(int i=0;i<10;i++)
{
if(visited[i]==0)
{
visited[i]=1;
arr[offset]=i;
dfs(offset+1);
visited[i]=0;
}
}
}
2. Life Game
Conway O Life Game é um autômato celular inventado pelo matemático britânico John Horton Conway em 1970.
Este jogo é jogado em uma grade 2D infinita.
No início, cada pequeno quadrado habitava uma célula viva ou morta.
O estado de cada célula no momento seguinte é determinado pelos estados das oito células ao seu redor.
Especificamente:
- Quando a célula atual está em um estado viável, quando há menos de 2 (excluindo 2) células viáveis ao redor, a célula fica morta. (O número de vidas simuladas é escasso)
- Quando a célula atual está em um estado viável, quando há 2 ou 3 células viáveis ao redor, a célula permanece como está.
- Quando a célula atual está em um estado vivo, quando há mais de três células vivas ao redor, a célula se torna um estado morto. (Muitas vidas simuladas)
- Quando a célula atual está em um estado morto, quando existem 3 células vivas ao redor, a célula se torna um estado vivo. (Reprodução de simulação) Depois que
todas as células da geração atual forem processadas pelas regras acima ao mesmo tempo, o mapa de célula da próxima geração poderá ser obtido. Continue processando o mapa de células desta geração de acordo com as regras, e você poderá obter o mapa de células da próxima geração e iniciar novamente e novamente.
Por exemplo, suponha inicialmente: (. X representa a célula viva, em nome de células mortas)
...
...
. O .XXX
...
A próxima geração se tornará:
...
... o X -...
... a X -...
... a X -...
...
alguns padrões interessantes ocorrem no Jogo da Vida de Conway. Por exemplo, um padrão estável:
…
.XX.
.XX.
…
E um padrão de loop:
………
.XX… .XX… .XX…
.XX… .X… .XX
…… XX .- >… X .->… XX.
… XX.… XX.… XX.
………
Neste problema que temos de discutir é um modelo muito especial, conhecido como o "Gosper Glider Gun":
...
... o X -...
... XX ...
. ... ... XX XX XX ...
. ... o X-XX ... XX ... ... o X-
.XX ... o X -... X ... XX ...
.XX ... X ... X.XX ... XX ...
... X ... X ... X ...
... X ... X ...
... XX ...
...
Supondo que o estado inicial acima seja a geração 0, quantas células vivas existem na geração 1000000000 (bilhões)?
Nota: Assumimos que a máquina celular é deduzida em uma grade 2D infinita, não apenas no espaço desenhado no título.
Obviamente, para locais distantes, o estado inicial é todas as células mortas.
Nota: O que precisa ser enviado é um número inteiro, não preencha o conteúdo extra.
(É difícil olhar para ele e desistiu)