角谷猜想计算第一次出现1的位置怎样用C++实现

2022年8月15日 22点热度 0人点赞

角谷猜想的内容是:任意给定一个自然数num,当num是偶数时,将它除以2成为新值;当num是奇数时,将它变成3*num+1,……,执行若干步后,num的值变会成为1。将上述计算过程中每一次出现的数字排列起来,就形成一个数字序列。现在给定一个自然数num,求形成的数字序列中第一次出现1的位置。

如何实现上述计算呢?小编与大家分享编程经验。

工具/原料

  • C++

方法/步骤

  1. 1

    角谷猜想的主要内容是,当输入的数num是偶数时,num=num/2;当输入的数是奇数时,num=3×num+1,将每次出现的数字排列起来,就形成一个数列。

  2. 2

    定义两个整型变量,保存输入的数和第一次出现1的位置。

  3. 3

    设置变量位置的值,初值为1。

  4. 4

    输入一个正整数,保存在变量num中。

  5. 5

    用do-while执行循环,如果整数num为偶数,则num=num/2,并且输出num的值。

  6. 6

    如果整数num为奇数,则num=3×num+1,并且输出num的值。

  7. 7

    每执行一次循环,位置的值自加1。

  8. 8

    最后,输出角谷猜想形成的序列中,第1次再现1的位置值。

  9. 9

    运行程序,输入任意一个正整数,电脑就会输出角谷猜想第一次出现1时,形成的序列,以及第一次出现1的位置值。

    END

注意事项

  • 作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论