角谷猜想(Collatz conjecture)验证算法C#实现
来源:互联网 发布:怎么清理mac上的其他 编辑:程序博客网 时间:2024/05/15 07:38
角谷猜想
任何一个大于一的自然数,如果是奇数,则乘以三再加一;如果是偶数,则除以二;得出的结果继续按照前面的规则进行运算,最后必定得到一。 该猜想由日本数学家角谷静夫发现,又被称为考拉兹猜想,3n+1猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想。
C#验证
该验证算法用C#控制台程序实现,输入为任意大于1的正整数,输出为按规则每一步得到的数,到1结束。代码如下:
namespace CollatzConjecture{ class Program { static void Main(string[] args) { Console.WriteLine("请输入一个大于1的正整数!"); string aStrInput = Console.ReadLine(); int aIntInput; bool aAgain=true; while (aAgain) { while (!int.TryParse(aStrInput, out aIntInput) || aIntInput <= 1) { Console.WriteLine("请输入一个大于1的正整数!"); aStrInput = Console.ReadLine(); } int aIntOutput = aIntInput; while (aIntOutput != 1) { if (aIntOutput % 2 == 0) { aIntOutput /= 2; } else { aIntOutput = aIntOutput * 3 + 1; } Console.WriteLine(aIntOutput.ToString()); } Console.WriteLine("按数字0退出系统,按数字1重试"); aStrInput = Console.ReadLine(); while(!int.TryParse(aStrInput, out aIntInput)||(aIntInput!=0&&aIntInput!=1)) { Console.WriteLine("请输入正确的命令!"); aStrInput = Console.ReadLine(); } aAgain = aIntInput == 0 ? false : true; } } }}
后记
通过这个简单的例子,我发现经常自己动手写一些这样的小算法、小程序,对提高自己的逻辑思维及严谨性还是有帮助的。以后要找一些更复杂的例子多练习,加油!
0 0
- 角谷猜想(Collatz conjecture)验证算法C#实现
- Collatz conjecture(考拉兹猜想)php语言验证程序
- Java实例5 - 考拉兹猜想 Collatz Conjecture
- Java实例5 - 考拉兹猜想 Collatz Conjecture
- Collatz Conjecture(湘潭大学OJ)
- XTUOJ 1142 Collatz Conjecture(数论)
- XTU 1142 Collatz Conjecture
- Python3:Collatz 序列(考拉咨猜想)
- 验证角谷猜想
- 验证角谷猜想
- 验证角谷猜想
- 验证角谷猜想
- 验证谷角猜想
- 验证角谷猜想
- 验证角谷猜想
- 验证角谷猜想
- 验证角谷猜想
- 验证角谷猜想
- 2015.04.01 Leetcode Generate Parentheses
- vim多窗口使用技巧
- Sublime Text
- 高性能网站架构设计之缓存篇
- android 倒计时显示时分秒
- 角谷猜想(Collatz conjecture)验证算法C#实现
- IOS ----UIButton用法详解
- java上传附件,批量下载附件
- android 使用asm.jar将android手机屏幕投影到电脑上
- Java 理论与实践: 正确使用 Volatile 变量
- codeigniter中count_all_results()问题
- 升级到XCode6.1之后一些插件不能用的解决办法
- Android Development Tools安卓开发工具
- javascript操作标签的自定义属性