6个版本

0.1.5 2023年10月15日
0.1.4 2023年10月15日

#608 in 数学

每月 23次下载

MIT/Apache

9KB
68

回文数字库原型

定义

“回文”是指数字在反转数字时保持不变的数字。例如,121,2332和6都是回文。但10不是回文(因为不允许有前导零)。将0视为回文,并使用无符号整数类型。

目标

编写一个库,允许用户

  1. 检查一个数字是否为回文
  2. 生成前N个回文

假设

  1. 不需要处理大于100万的大数。
  2. 如果调用时使用任何会导致生成大于100万的数字的值,代码可能会崩溃。
  3. 可以使用第三方库,但它们可能不会出现在您的公共API中。

约束

如果库直接实现了问题,不要使用它。

库位置

  1. 代码本身可以在 github.com 上找到。
  2. 它已上传到 crates.io,可以直接在Cargo.toml中使用作为依赖项
...
[dependencies]
bs_crate = "0.1.0"
...

使用

库应这样使用

use bs_crate;

fn main() {
    let x = 123;
    let is_palindrome = bs_crate::is_palindrome(x);
    println!("{x} is a palindrome: {is_palindrome}");

    let first_10_palindromes = bs_crate::first_n_palindromes(10);

    for x in first_10_palindromes {
        println!("{x} is a palindrome");
    }
}

无运行时依赖