1、平方十位数
0から9までの10桁は繰り返されたり省略されたりせず、多数の10桁で構成できます。これらの多くは、偶数(特定の数の2乗)です。例:1026753849は、それらの中で最小の平方数です。それらの中で最大の平方数を見つけてください?注:10桁の番号を送信する必要があります。追加のコンテンツを入力しないでください。
結果:19028547136
0-9は10桁で構成される完全に配置され、Mathのsqrt関数が整数かどうかを判断します。
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 Life Gameは、1970年に英国の数学者John Horton Conwayによって発明されたセルオートマトンです。
このゲームは、無限の2Dグリッドでプレイされます。
最初は、小さな正方形のそれぞれに生細胞または死細胞が生息していた。
次の瞬間の各セルの状態は、周囲の8つのセルのセル状態によって決まります。
具体的には:
- 現在のセルが生存可能な状態にある場合、周囲に生存可能なセルが2つ未満(2つを除く)になると、セルは死んでしまいます。(模擬生活数は少ない)
- 現在のセルが実行可能な状態にある場合、周囲に2つまたは3つの実行可能なセルがある場合、セルはそのまま残ります。
- 現在のセルが生きている状態で、周囲に4つ以上の生きているセルがある場合、セルは死んだ状態になります。(シミュレーションライフが多すぎます)
- 現在の細胞が死んでいる状態で、周りに生きている細胞が3つあると、その細胞は生きている状態になります。(シミュレーション再現)
現世代の全セルを上記のルールで同時に処理した後、次世代セルマップを得ることができます。ルールに従ってこの世代のセルマップの処理を続行すると、次の世代のセルマップを取得して、何度でも開始できます。
例えば、当初想定しています(。Xは、死んだ細胞に代わって、生きた細胞を表し)
...
...
。.XXX
...
次世代は次のようになります。
...
... X ...
... X ...
... X ...
...
いくつかの興味深いパターンは、ライフゲームで発生します。このような安定的かつ不変のパターンとして:
...
。.XX
.XX。
...
ありますサイクルモデル:
... ... ...
.XX .XX ... ... ... .XX
.XX ... .X ... .XX ...
... XX - > ... X-。 .->…XX。
…XX。…XX。…XX。
………
我々が議論する必要があり、この問題では、 "Gosperグライダーガン"として知られている非常に特別なモデルは、次のとおりです。
...
... X ...
... XX ...
。... ... XX XX XX ...
。... X-XX ... XX ... ... X-
.XX ... X -... X ... XX ...
.XX ... X ... X.XX ... XX ...
…X ... X ... X ...
…X ... X ...
…XX ...
…
上記の初期状態が世代0であるとすると、1億000万(10億)世代に生きている細胞はいくつありますか?
注:セルマシンは、タイトルに描かれたスペースだけでなく、無限の2Dグリッドで推定されると想定しています。
もちろん、離れた場所では、初期状態はすべて死んだ細胞です。
注:提出する必要があるのは整数です。追加のコンテンツを入力しないでください。
(見づらくて諦めました)