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

角谷猜想的内容是:肆意给定一个天然数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的位置值。

  • 发表于 2018-09-25 00:00
  • 阅读 ( 279 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论