Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub fn recursive(pset: &mut PrimeSet, product: u32) {
- for i in (0..).map(|i| p {
- let p = nth(pset, i);
- let a = p as u32 * product;
- if a > 40 {
- return;
- } else {
- recursive(pset, a);
- }
- }
- }
- fn nth(pset: &mut PrimeSet, n: usize) -> u64 {
- let len = pset.len();
- if len > n {
- pset.list()[n]
- } else {
- pset.generator().nth(n - len).unwrap()
- }
- }
- // stubs
- pub struct PrimeSet;
- pub struct PrimeSetIter<'a>(std::marker::PhantomData<&'a mut ()>);
- impl<'a> Iterator for PrimeSetIter<'a> {
- type Item = u64;
- fn next(&mut self) -> Option<u64> {
- Some(2)
- }
- }
- impl PrimeSet {
- pub fn iter<'a>(&'a mut self) -> PrimeSetIter<'a> {
- PrimeSetIter(std::marker::PhantomData)
- }
- pub fn list(&self) -> &[u64] {
- &[]
- }
- pub fn len(&self) -> usize {
- self.list().len()
- }
- pub fn generator<'a>(&'a mut self) -> PrimeSetIter<'a> {
- PrimeSetIter(std::marker::PhantomData)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement