#conjecture #single-threaded #algorithm

collatz

与Collatz猜想相关的辅助函数

9个不稳定版本

0.5.1 2023年7月6日
0.5.0 2021年10月21日
0.4.0 2021年9月11日
0.3.2 2021年9月8日
0.1.1 2021年9月4日

#371数学 类别中

29 每月下载量

MIT 许可证

11KB
88

collatz

与Collatz猜想相关的辅助函数(也称为3n+1问题或3n+1猜想)。

问题

给定一个正整数N,重复以下步骤:

  • 如果该数字是偶数,则将其除以2。
  • 如果该数字是奇数,则将其乘以3再加1。Collatz猜想指出,对于每个正整数,你将在有限步骤内达到1。

示例

  • 性能比较:单线程与使用rayon
  • 在控制台中对指定数字的Collatz步骤进行绘图
Please enter a positive integer
19
Collatz steps for number 19
Collatz steps [19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
⡁           ⢰⡇                                                                              88.0
⠄           ⡎⢸                                                                             
⠂          ⢠⠃ ⡇                                                                            
⡁          ⡜  ⠸⡀                                                                           
⠄         ⢀⠇   ⢇                                                                           
⠂   ⣴     ⡸    ⠸⡀                                                                          
⡁  ⢰⠁⢣    ⡇     ⢇                     ⡴⡀                                                   
⠄ ⢀⠇ ⠈⢆  ⢸      ⠘⡄                   ⢰⠁⠱⡀                                                  
⠂ ⡜   ⠘⡄ ⡇       ⠘⡄                 ⢀⠇  ⠱⡀         ⡴⡀                                      
⡁⢰⠁    ⠸⣰⠁        ⠘⢄         ⡠⢆     ⡜    ⠱⡀       ⡜ ⠱⡀                                     
⢄⠇      ⠙          ⠈⢆       ⡰⠁ ⠱⡀  ⢰⠁     ⠱⡀     ⡜   ⠘⡄                                    
⡞                   ⠈⠢⢄    ⡔⠁   ⠈⢆⢀⠇       ⠑⢄   ⡜     ⠘⢄⡀                                  
⡁                      ⠑⢄ ⡜       ⠙          ⠑⢄⡜        ⠈⠢⢄         ⡠⢄⡀                    
⠄                        ⠙                     ⠁           ⠑⠤⢄⣀   ⡠⠊  ⠈⠑⠢⣀⡀                
⠂                                                              ⠉⠑⠊        ⠈⠉⠒⠤⠤⠤⠤⢄⣀⣀⣀⡀     
⠁                                                                                    ⠈      1.0
0.0                                                                                    21.0

依赖项

~465KB