Data Update
This commit is contained in:
parent
e50b5c3114
commit
633b36288a
206 changed files with 4762 additions and 965 deletions
25
Task/Arithmetic-derivative/Rust/arithmetic-derivative.rust
Normal file
25
Task/Arithmetic-derivative/Rust/arithmetic-derivative.rust
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
use prime_factorization::Factorization;
|
||||
|
||||
fn d(n: i128) -> i128 {
|
||||
if n < 0 {
|
||||
return -(d(-n));
|
||||
} else if n < 2 {
|
||||
return 0;
|
||||
} else {
|
||||
let fpairs = Factorization::run(n as u128).prime_factor_repr();
|
||||
if fpairs.len() == 1 && fpairs[0].1 == 1 {
|
||||
return 1;
|
||||
}
|
||||
return fpairs.iter().fold(0_i128, |p, q| p + n * (q.1 as i128) / (q.0 as i128));
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
for n in -99..101 {
|
||||
print!("{:5}{}", d(n), { if n % 10 == 0 { "\n" } else {""} });
|
||||
}
|
||||
println!();
|
||||
for m in 1..21 {
|
||||
println!("(D for 10 ^ {}) divided by 7 is {}", m, d(10_i128.pow(m)) / 7)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue