FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Java/ProjectEuler/Problem04.java at master · loisoft/Java · GitHub
loisoft
/
Java
Public
forked from
TheAlgorithms/Java
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Java
/
ProjectEuler
/
Problem04.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
41 lines (37 loc) · 1.42 KB
Breadcrumbs
Java
/
ProjectEuler
/
Problem04.java
Copy path
File metadata and controls
41 lines (37 loc) · 1.42 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package
ProjectEuler
;
/**
* A palindromic number reads the same both ways. The largest palindrome made from the product of
* two 2-digit numbers is 9009 = 91 × 99.
*
* <p>Find the largest palindrome made from the product of two 3-digit numbers.
*
* <p>link: https://projecteuler.net/problem=4
*/
public
class
Problem04
{
public
static
void
main
(
String
[]
args
) {
assert
solution1
(
10000
) == -
1
;
assert
solution1
(
20000
) ==
19591
;
/* 19591 == 143*137 */
assert
solution1
(
30000
) ==
29992
;
/* 29992 == 184*163 */
assert
solution1
(
40000
) ==
39893
;
/* 39893 == 287*139 */
assert
solution1
(
50000
) ==
49894
;
/* 49894 == 494*101 */
assert
solution1
(
60000
) ==
59995
;
/* 59995 == 355*169 */
assert
solution1
(
70000
) ==
69996
;
/* 69996 == 614*114 */
assert
solution1
(
80000
) ==
79897
;
/* 79897 == 733*109 */
assert
solution1
(
90000
) ==
89798
;
/* 89798 == 761*118 */
assert
solution1
(
100000
) ==
99999
;
/* 100000 == 813*123 */
}
private
static
int
solution1
(
int
n
) {
for
(
int
i
=
n
-
1
;
i
>=
10000
; --
i
) {
String
strNumber
=
String
.
valueOf
(
i
);
/* Test if strNumber is palindrome */
if
(
new
StringBuilder
(
strNumber
).
reverse
().
toString
().
equals
(
strNumber
)) {
for
(
int
divisor
=
999
;
divisor
>=
100
; --
divisor
) {
if
(
i
%
divisor
==
0
&&
String
.
valueOf
(
i
/
divisor
).
length
() ==
3
) {
return
i
;
}
}
}
}
return
-
1
;
/* not found */
}
}
Back
|
FazBrowse Home
|
New Git URL