Skip to content

Instantly share code, notes, and snippets.

@gabeio
Last active February 19, 2016 23:46
Show Gist options
  • Select an option

  • Save gabeio/6a74016eb0e3c8cdd9bb to your computer and use it in GitHub Desktop.

Select an option

Save gabeio/6a74016eb0e3c8cdd9bb to your computer and use it in GitHub Desktop.
Prime-Palindrome in rust
fn main() {
let mut v:Vec<i32> = vec![2];
for _ in 0..1000 {
let prime = primes(&v);
if prime == -1 {
break;
}
v.push(prime);
}
'top:for prime in v.iter().rev() {
let prime_s = format!("{}", &prime).into_bytes();
let mut prime_r = format!("{}", &prime).into_bytes();
prime_r.reverse();
if prime_s == prime_r {
println!("{}", prime);
break 'top;
}
}
}
fn primes(v:&Vec<i32>) -> i32 {
if v[v.len()-1] < 1000 {
let mut i = v[v.len()-1];
'inf:loop {
i+=1;
let mut prime:bool = true;
'this:for x in v.iter() {
if i%x==0 {
prime = false;
break 'this;
}
}
if prime==true {
return i;
}
}
}else{
return -1; // stop making primes after 1000
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment