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

简介: 1001 害死人不偿命的(3n+1)猜想


题目描述

链接

思路

首先对于给定的一个数,要判断它的奇偶性。假设这个数是n,用count记录步数

1.偶数,n/=2;count++

2.奇数,(3*n+1)/2赋给n,count++;

循环一直到n为1.最后输出.

代码实现

int f(int n)
{
  int count = 0;
  
  while (n!=1)//是否为1
  {
    if (n % 2 == 0)//偶
    {
      n /= 2;
      count++;
    }
    else//奇
    {
      n = (3 * n + 1) / 2;
      count++;
    }
  }
  return count;//步数
}
int main()
{
  int n;
  scanf("%d", &n);
  printf("%d\n", f(n));
  return 0;
}

相关文章
|
测试技术
害死人不偿命的(3n+1)猜想
害死人不偿命的(3n+1)猜想
|
安全
【每日一道智力题】之聪明的犯人!
【每日一道智力题】之聪明的犯人!
176 0
|
测试技术
PAT 1001 害死人不偿命的(3n+1)猜想
对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。
97 0
|
机器学习/深度学习 测试技术
PAT乙级1001 害死人不偿命的(3n+1)猜想 (15分)
PAT乙级1001 害死人不偿命的(3n+1)猜想 (15分)
97 0
|
测试技术
1001 害死人不偿命的(3n+1)猜想 (15 分)
1001 害死人不偿命的(3n+1)猜想 (15 分)
73 0
J3
|
机器学习/深度学习 存储 缓存
有图有真相的Java内存模型基础,你好意思不看嘛!
有图有真相的Java内存模型基础
J3
161 0
有图有真相的Java内存模型基础,你好意思不看嘛!
|
设计模式 算法 架构师
狂补计算机基础知识,让我上了瘾,想要尽快和同龄人拉开差距,必须这么干,才有戏!!!!
狂补计算机基础知识,让我上了瘾,想要尽快和同龄人拉开差距,必须这么干,才有戏!!!!
188 0

相关实验场景

更多