aboutsummaryrefslogtreecommitdiff
path: root/rust/004-largest_palindrome_product.rs
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-05-21 12:16:03 +0200
committerCharles <sircharlesaze@gmail.com>2020-05-21 12:16:03 +0200
commitfec9192bf1494a0180ec31388281667c132b7ee6 (patch)
tree1533f2081cc6c8919a9030db8cfd056efcc6cbd1 /rust/004-largest_palindrome_product.rs
parentec28f3d2a263440b167b2ae44033f2eae5bab88c (diff)
downloadproject_euler-fec9192bf1494a0180ec31388281667c132b7ee6.tar.gz
project_euler-fec9192bf1494a0180ec31388281667c132b7ee6.tar.bz2
project_euler-fec9192bf1494a0180ec31388281667c132b7ee6.zip
problem 4 5 in rust
Diffstat (limited to 'rust/004-largest_palindrome_product.rs')
-rw-r--r--rust/004-largest_palindrome_product.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/rust/004-largest_palindrome_product.rs b/rust/004-largest_palindrome_product.rs
new file mode 100644
index 0000000..c0b49bd
--- /dev/null
+++ b/rust/004-largest_palindrome_product.rs
@@ -0,0 +1,27 @@
+/*
+* Largest palindrome product
+* Problem 4
+*
+* A palindromic number reads the same both ways.
+* The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
+* Find the largest palindrome made from the product of two 3-digit numbers.
+*/
+
+fn is_palindrome(n: u32) -> bool {
+ let s: String = n.to_string();
+ let r: String = s.chars().rev().collect();
+ s == r
+}
+
+fn main() {
+ let mut largest = 0;
+
+ for x in 100..1000 {
+ for y in 100..1000 {
+ if is_palindrome(x * y) && x * y > largest{
+ largest = x * y
+ }
+ }
+ }
+ println!("{}", largest);
+}