回答編集履歴

1

追記

2018/05/26 08:06

投稿

退会済みユーザー
test CHANGED
@@ -11,3 +11,57 @@
11
11
 
12
12
 
13
13
  ので、先に全回文を作って、それを3桁の数字で割ってみるのがワリと手っ取り早い気がします。3桁の数字のでかい方から割れば、最大値はサクッと見つかるのでは?
14
+
15
+
16
+
17
+ **追記**
18
+
19
+ php で書いてみました。
20
+
21
+ 上記以外に、ちょっと条件が必要でした^^;
22
+
23
+ ```php
24
+
25
+ <?php
26
+
27
+ function make_palindrome_array(){
28
+
29
+ $palindrome_array = [];
30
+
31
+ for ($i = 999; $i >= 100; --$i){
32
+
33
+ $palindrome = (string)$i . strrev((string)$i);
34
+
35
+ $palindrome_array[] = (int)$palindrome;
36
+
37
+ }
38
+
39
+ return $palindrome_array;
40
+
41
+ }
42
+
43
+ $palindrome_array = make_palindrome_array();
44
+
45
+ foreach($palindrome_array as $palindrome){
46
+
47
+ for($j = 999; $j >= 100; --$j){
48
+
49
+ if($palindrome % $j === 0){
50
+
51
+ if($palindrome / $j <= 999){
52
+
53
+ echo '最大の回文は'.$palindrome.PHP_EOL;
54
+
55
+ echo '組み合わせは ' . $j . ' と ' . $palindrome / $j . PHP_EOL;
56
+
57
+ break 2;
58
+
59
+ }
60
+
61
+ }
62
+
63
+ }
64
+
65
+ }
66
+
67
+ ```