回答編集履歴

2

誤記訂正

2018/05/26 19:57

投稿

退会済みユーザー
test CHANGED
@@ -26,9 +26,9 @@
26
26
 
27
27
  int max = -1, max1 = -1, max2 = -1;
28
28
 
29
- for (int i = 100; i < 999; ++i) {
29
+ for (int i = 100; i <= 999; ++i) {
30
30
 
31
- for (int j = i; j < 999; ++j) {
31
+ for (int j = i; j <= 999; ++j) {
32
32
 
33
33
  if (isPalindrome(i * j)) {
34
34
 

1

改善

2018/05/26 19:57

投稿

退会済みユーザー
test CHANGED
@@ -15,3 +15,43 @@
15
15
  }
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ これを使ってこんな風に求めることができます。
22
+
23
+
24
+
25
+ ```java
26
+
27
+ int max = -1, max1 = -1, max2 = -1;
28
+
29
+ for (int i = 100; i < 999; ++i) {
30
+
31
+ for (int j = i; j < 999; ++j) {
32
+
33
+ if (isPalindrome(i * j)) {
34
+
35
+ if (i * j > max) {
36
+
37
+ max = i * j;
38
+
39
+ max1 = i;
40
+
41
+ max2 = j;
42
+
43
+ }
44
+
45
+ }
46
+
47
+ }
48
+
49
+ }
50
+
51
+ System.out.printf("max: %d = (%d * %d)%n", max, max1, max2);
52
+
53
+ ->
54
+
55
+ max: 906609 = (913 * 993)
56
+
57
+ ```