1001. 害死人不偿命的(3n+1)猜想 (15)

1001. 害死人不偿命的(3n+1)猜想 (15)

卡拉兹(Callatz)猜想:

对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……

我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。

输出格式:输出从n计算到1需要的步数。

输入样例:

3

输出样例:

5


代码:

#include<iostream>

using namespace std;

void Function(){

  int n,flag=0;

  cin >> n;

  while (n!=1){

    if (n % 2 == 0){

      n = n / 2;

      flag++;

      continue;

    }

    else{

      n = (3 * n + 1) / 2;

      flag++;

      continue;

    }

  }

  cout << flag;

}

int main(){

  Function();

  return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这里将会更新以剑三地图主题为主的30个小故事。 当然这都是我自己的故事。 如果你有兴趣就看看吧。 没兴趣也好。因为...
    _林栖_阅读 175评论 0 0
  • 一大早到二楼上厕所这里的厕所宽敞舒服可是,妈蛋,居然有人再听,咦,没人啊犹豫着,踹开门嘿,真没人哦,是邪风关上了门...
    lekli阅读 468评论 4 7
  • 最近有个需求直接调用系统的微信分享,网上搜了好多都是系统有的Facebook和新浪微博的,没有看到微信,如果取到了...
    放飞吧小熊阅读 2,311评论 1 3
  • 对 明天腊月初八 要喝腊八粥 今晚就得泡豆 可 寻遍整个厨房 只有 绿豆黑豆红小豆 凑不够八样 看来 悟道成佛 没...
    向温暖阅读 211评论 0 0