Hailstone Sequence
2016-03-26 22:46
766 查看
无聊来个小科普。Hailstone Sequence问题是一个著名的数学问题,至今没有证明其正确性,也没证明其是错误的,即任何一个正整数N,如果是偶数的话就除以2,如果是奇数的话就乘以3再加上1,最后这个数都会变为1。公式如下:
求出这个序列长度的C++代码如下:
#include <iostream>
using namespace std;
int hailstone(int n);
int main()
{
int n;
while(cin >> n)
cout << n << ":" << hailstone(n) << endl;
return 0;
}
int hailstone(int n)
{
int length = 1;
while(n > 1)
{
(n % 2 == 0) ? (n /= 2) : (n*=3)++;
++length;
}
return length;
}
当然也可以把这个序列打印出来:
#include <iostream>
using namespace std;
int hailstone(int n);
int main()
{
int n;
while(cin >> n)
cout << "(Num:" << n << " Length:" << hailstone(n) << ")" << endl;
return 0;
}
int hailstone(int n)
{
int length = 1;
cout << 1 << " ";
while(n > 1)
{
cout << n << " ";
(n % 2 == 0) ? (n /= 2) : (n*=3)++;
++length;
}
return length;
}
求出这个序列长度的C++代码如下:
#include <iostream>
using namespace std;
int hailstone(int n);
int main()
{
int n;
while(cin >> n)
cout << n << ":" << hailstone(n) << endl;
return 0;
}
int hailstone(int n)
{
int length = 1;
while(n > 1)
{
(n % 2 == 0) ? (n /= 2) : (n*=3)++;
++length;
}
return length;
}
当然也可以把这个序列打印出来:
#include <iostream>
using namespace std;
int hailstone(int n);
int main()
{
int n;
while(cin >> n)
cout << "(Num:" << n << " Length:" << hailstone(n) << ")" << endl;
return 0;
}
int hailstone(int n)
{
int length = 1;
cout << 1 << " ";
while(n > 1)
{
cout << n << " ";
(n % 2 == 0) ? (n /= 2) : (n*=3)++;
++length;
}
return length;
}
相关文章推荐
- APUE之线程(四)
- Longest Increasing Subsequence(DP)
- Android UI基础——五大布局
- 菜鸟成长记-UILabel使用、横线划掉价格
- leetcode_060 Permutation Sequence
- java中PriorityQueue优先级队列使用方法
- POJ 3061 Subsequence(尺取法)
- easyui前台改变datagrid某单元格的值
- Range minimum query
- StringBuilder、StringBuffer和String三者的联系和区别
- ElasticSearch中根据查询结果删除数据(delete by query)
- 我的Android进阶之旅------>android如何将List<NameValuePair>请求参数列表转换为json格式
- CodeForces-626A-Robot Sequence
- UVA 1252(p287)----Twenty Questions
- POJ2524Ubiquitous Religions
- 如何降低Vue.js项目中Webpack打包文件的大小?
- 334. Increasing Triplet Subsequence
- 通过request获得全路径
- 自定义控件基础 requestLayout()和invalidate()区别
- 五、初学servlet之请求Request