14个版本

0.5.2 2023年11月30日
0.4.5 2023年6月19日
0.4.2 2022年12月25日
0.4.1 2022年6月10日
0.3.0 2022年2月27日

#482 in 数学

MIT许可协议

24KB
612

ulam crate

ulam螺旋库,用于Rust。

  • 接受一个Coord( x, y )并返回螺旋中的值。
  • 接受一个值并返回一个Coord(x,y)。
  • 也可以用来生成带有素数着色的ulam螺旋图。

重要说明

  • 当前从中间的0开始,并从右侧开始。
Coord {
    x: 1,
    y: 0,
}

如果传递给这个Coord,则等于1的值。

示例用法

let mut ulam_points = HashMap::new();

for x in -201..201 {
    if x % 10 == 0 {
        println!("{x}");
    }
    for y in -201..201 {
        let c = Coord::new(x, y);
        let a = ulam::get_ulam_point(&c);

        ulam_points.insert(
            a.value,
            c
        );
    }
}


let c = Coord::new(20000, 20000);
let a = ulam::get_ulam_point(&c);

println!("{}", a.value);
println!("{:?}", ulam_points[&55]);



ulam::ulamspiral_img::generate(1_000, 1_000)
    .unwrap()
    .save("./result.png");

依赖项

~0.7–2.6MB
~48K SLoC