评论

收藏

[C++] 厦大C语言上机 1483 归一法则

编程语言 编程语言 发布于:2021-07-10 15:14 | 阅读数:215 | 评论:0

  1483.归一法则


时间限制: 1000 MS          内存限制: 65536 K
        
提交数: 433 (2 users)          通过数: 302 (295 users)


问题描述
一个偶然的机会,街边算命的老人跟小明打赌,只要小明给他一个正整数n,他按照下面的规则,总是能在有限的次数内把这个给定的正整数n变成1。规则很简单:如果n是奇数,则将n变为3n+1,否则变为n的一半。小明一开始不相信,但是试了很多次,老人都做到了,例如3->10->5->16->8->4->2->1。于是小明输了10块钱。现在小明学会了C语言,他要让计算机帮他检验一下老人说的到底是不是真的。


输入格式
    输入n,n<=109


输出格式
    输出变换的次数。


样例输入
3


样例输出
7


来源
  xmu
#include <stdio.h>
int main()
{
  int n;
  int times;
  scanf("%d", &n);
  times = 0;
  while (n > 1)
  {
    if (n % 2 == 1)
      n = 3 * n + 1;
    else
      n /= 2;
    times++;
  }
  printf("%d\n", times);
  return 0;
}



  
关注下面的标签,发现更多相似文章