Update all new Tasks

This commit is contained in:
Ingy döt Net 2015-02-20 09:02:09 -05:00
parent 00a190b0a6
commit 91df62d461
5697 changed files with 93386 additions and 804 deletions

View file

@ -0,0 +1,39 @@
fn is_kprime(n: usize, k: usize) -> bool {
let mut primes = 0us;
let mut f = 2us;
let mut rem = n;
while primes < k && rem > 1{
while (rem % f) == 0 && rem > 1{
rem /= f;
primes += 1;
}
f += 1;
}
rem == 1 && primes == k
}
struct KPrimeGen {
k: usize,
n: usize,
}
impl Iterator for KPrimeGen {
type Item = usize;
fn next(&mut self) -> Option<usize> {
self.n += 1;
while !is_kprime(self.n, self.k) {
self.n += 1;
}
Some(self.n)
}
}
fn kprime_generator(k: usize) -> KPrimeGen {
KPrimeGen {k: k, n: 1}
}
fn main() {
for k in 1us..6 {
println!("{}: {:?}", k, kprime_generator(k).take(10).collect::<Vec<_>>());
}
}