大家来写写汇编小玩意(三)
之前提了几个小题目,考的是写最短代码,这次来点别的,玩玩解题能力。题目一:
先来百度:
考拉兹猜想,又称为3n+1猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是由日本数学家角谷静夫发现,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
取一个数字。
如n = 6,根据上述公式,得出 6→3→10→5→16→8→4→2→1 。(步骤中最大的数是16,共有8个步骤)。
如n = 11,根据上述公式,得出 11→34→17→52→26→13→40→20→10→5→16→8→4→2→1。(步骤中最大的数是52,共有14个步骤)
考拉兹猜想称,任何正整数,经过上述计算步骤后,最终都会得到 1 。
题目来了。
输入:
输入需要验证角谷猜想的数n,0<n<1000000000(10亿),直到输入0或回车为止。
输出:
从数字n开始,依次输出经过变换后得到的每一个数字,数与数之间用“->”连接,直到输出1为止步。统计步骤中最大的数字m以及所需的步骤数x,然后在下一行输出如下引号中的信息:“Max is m and we need x steps.”。
对于步骤数的规定:我们约定,经过一次运算为1步,比如,在下面的输入样例中,从11到34就是第1步,如此循环,直到最后数字变成1为止。
比如:
11
输出:
11->34->17->52->26->13->40->20->10->5->16->8->4->2->1
Max is 52 and we need 14 steps.
其实逻辑挺简单的,这是我草草写的一个。
题目二:
1. 键盘输入的两个日期(日期为8位数的年月日),求出之间相差几天。
2. 在输入日期前要有提示信息(如:Input First Date / Input Second Date)
这题也很简单,重点是计算闰年,设定一个参考点....验证可用excel
一如既往,我也写了一个。
有趣兴可以写写,贴出代码,或者说说想法也可以。




)

程序代码: