init
This commit is contained in:
7
problems/p27/Cargo.toml
Normal file
7
problems/p27/Cargo.toml
Normal file
@@ -0,0 +1,7 @@
|
||||
[package]
|
||||
name = "p27"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
primal = "0.3"
|
||||
37
problems/p27/src/main.rs
Normal file
37
problems/p27/src/main.rs
Normal file
@@ -0,0 +1,37 @@
|
||||
use primal::is_prime;
|
||||
|
||||
fn gen_prime_count(a: i32, b: i32) -> i32 {
|
||||
let mut count = 0i32;
|
||||
|
||||
let mut result = count * count + a * count + b;
|
||||
if result <= 0 {
|
||||
return count;
|
||||
}
|
||||
|
||||
while is_prime(result as u64) {
|
||||
count += 1;
|
||||
result = count * count + a * count + b;
|
||||
}
|
||||
|
||||
count
|
||||
}
|
||||
#[test]
|
||||
fn test_gen_prime_count() {
|
||||
assert_eq!(gen_prime_count(1, 41), 40);
|
||||
assert_eq!(gen_prime_count(-79, 1601), 80);
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut max_len = 0;
|
||||
let mut max_product = 0;
|
||||
for a in -1000..1000 {
|
||||
for b in -1000..1000 {
|
||||
let len = gen_prime_count(a, b);
|
||||
if len > max_len {
|
||||
max_len = len;
|
||||
max_product = a * b;
|
||||
}
|
||||
}
|
||||
}
|
||||
println!("{max_product}");
|
||||
}
|
||||
Reference in New Issue
Block a user