init
This commit is contained in:
6
problems/p42/Cargo.toml
Normal file
6
problems/p42/Cargo.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "p42"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
1
problems/p42/p042_words.txt
Normal file
1
problems/p42/p042_words.txt
Normal file
File diff suppressed because one or more lines are too long
50
problems/p42/src/main.rs
Normal file
50
problems/p42/src/main.rs
Normal file
@@ -0,0 +1,50 @@
|
||||
use std::fs::File;
|
||||
use std::io::{BufRead, BufReader};
|
||||
|
||||
fn get_tri_num(n: u32) -> Vec<u32> {
|
||||
(1..=n).map(|n| n * (n + 1) / 2).collect()
|
||||
}
|
||||
|
||||
fn get_words() -> Vec<String> {
|
||||
let file = File::open("./p042_words.txt").unwrap();
|
||||
let mut reader = BufReader::new(file);
|
||||
let mut buf: String = String::new();
|
||||
reader.read_line(&mut buf).unwrap();
|
||||
let mut words: Vec<String> = Vec::new();
|
||||
for word in buf.split(',') {
|
||||
let word = word.trim_matches('"').to_string();
|
||||
words.push(word);
|
||||
}
|
||||
words
|
||||
}
|
||||
|
||||
fn get_word_value(word: &str) -> u32 {
|
||||
let mut score = 0;
|
||||
for c in word.chars() {
|
||||
let c = c.to_ascii_lowercase();
|
||||
score += (c as u8 - b'a' + 1) as u32;
|
||||
}
|
||||
score
|
||||
}
|
||||
#[test]
|
||||
fn test_get_word_value() {
|
||||
let word = "SKY";
|
||||
assert_eq!(get_word_value(word), 55);
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut post_200_tri_num = get_tri_num(200);
|
||||
let words = get_words();
|
||||
let mut counter = 0;
|
||||
for word in words {
|
||||
let score = get_word_value(&word);
|
||||
if score < post_200_tri_num[post_200_tri_num.len() - 1] && post_200_tri_num.contains(&score)
|
||||
{
|
||||
counter += 1;
|
||||
} else if score > post_200_tri_num[post_200_tri_num.len() - 1] {
|
||||
println!("extending post_200_tri_num");
|
||||
post_200_tri_num = get_tri_num(post_200_tri_num.len() as u32 + 100);
|
||||
}
|
||||
}
|
||||
println!("{counter}");
|
||||
}
|
||||
12
problems/p42/target/rust-analyzer/flycheck0/stderr
Normal file
12
problems/p42/target/rust-analyzer/flycheck0/stderr
Normal file
@@ -0,0 +1,12 @@
|
||||
0.081616178s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: stale: changed "/home/sangge/code/projecteuler/problems/p42/src/main.rs"
|
||||
0.081635313s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: (vs) "/home/sangge/code/projecteuler/target/debug/.fingerprint/p42-80c1bd638c3b3d7c/dep-bin-p42"
|
||||
0.081639852s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: FileTime { seconds: 1768800096, nanos: 937131814 } < FileTime { seconds: 1768800107, nanos: 228856355 }
|
||||
0.081684905s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: fingerprint dirty for p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42)/Check { test: false }/TargetInner { name: "p42", doc: true, ..: with_path("/home/sangge/code/projecteuler/problems/p42/src/main.rs", Edition2024) }
|
||||
0.081696056s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: dirty: FsStatusOutdated(StaleItem(ChangedFile { reference: "/home/sangge/code/projecteuler/target/debug/.fingerprint/p42-80c1bd638c3b3d7c/dep-bin-p42", reference_mtime: FileTime { seconds: 1768800096, nanos: 937131814 }, stale: "/home/sangge/code/projecteuler/problems/p42/src/main.rs", stale_mtime: FileTime { seconds: 1768800107, nanos: 228856355 } }))
|
||||
0.081861673s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: stale: changed "/home/sangge/code/projecteuler/problems/p42/src/main.rs"
|
||||
0.081866662s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: (vs) "/home/sangge/code/projecteuler/target/debug/.fingerprint/p42-eca59544334dcad0/dep-test-bin-p42"
|
||||
0.081870159s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: FileTime { seconds: 1768800096, nanos: 937131814 } < FileTime { seconds: 1768800107, nanos: 228856355 }
|
||||
0.081897239s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: fingerprint dirty for p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42)/Check { test: true }/TargetInner { name: "p42", doc: true, ..: with_path("/home/sangge/code/projecteuler/problems/p42/src/main.rs", Edition2024) }
|
||||
0.081903922s INFO prepare_target{force=false package_id=p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42) target="p42"}: cargo::core::compiler::fingerprint: dirty: FsStatusOutdated(StaleItem(ChangedFile { reference: "/home/sangge/code/projecteuler/target/debug/.fingerprint/p42-eca59544334dcad0/dep-test-bin-p42", reference_mtime: FileTime { seconds: 1768800096, nanos: 937131814 }, stale: "/home/sangge/code/projecteuler/problems/p42/src/main.rs", stale_mtime: FileTime { seconds: 1768800107, nanos: 228856355 } }))
|
||||
Checking p42 v0.1.0 (/home/sangge/code/projecteuler/problems/p42)
|
||||
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.12s
|
||||
3
problems/p42/target/rust-analyzer/flycheck0/stdout
Normal file
3
problems/p42/target/rust-analyzer/flycheck0/stdout
Normal file
@@ -0,0 +1,3 @@
|
||||
{"reason":"compiler-artifact","package_id":"path+file:///home/sangge/code/projecteuler/problems/p42#0.1.0","manifest_path":"/home/sangge/code/projecteuler/problems/p42/Cargo.toml","target":{"kind":["bin"],"crate_types":["bin"],"name":"p42","src_path":"/home/sangge/code/projecteuler/problems/p42/src/main.rs","edition":"2024","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":1,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/home/sangge/code/projecteuler/target/debug/deps/libp42-80c1bd638c3b3d7c.rmeta"],"executable":null,"fresh":false}
|
||||
{"reason":"compiler-artifact","package_id":"path+file:///home/sangge/code/projecteuler/problems/p42#0.1.0","manifest_path":"/home/sangge/code/projecteuler/problems/p42/Cargo.toml","target":{"kind":["bin"],"crate_types":["bin"],"name":"p42","src_path":"/home/sangge/code/projecteuler/problems/p42/src/main.rs","edition":"2024","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":1,"debug_assertions":true,"overflow_checks":true,"test":true},"features":[],"filenames":["/home/sangge/code/projecteuler/target/debug/deps/libp42-eca59544334dcad0.rmeta"],"executable":null,"fresh":false}
|
||||
{"reason":"build-finished","success":true}
|
||||
Reference in New Issue
Block a user