首页 > 其他分享 >C语言-角谷步数

C语言-角谷步数

时间:2024-04-02 12:04:08浏览次数:31  
标签:角谷 hanshu int C语言 bu printf zhengshu 步数

题目描述

你听说过角谷猜想吗?
任意的正整数,比如 5,我们从它开始,如下规则计算:
如果是偶数,则除以2;如果是奇数,则乘以 333 再加 1。
如此循环,最终必会得到 1!
比如 5 的处理过程是:

5
16
8
4
2
1

一个正整数经过多少步才能变成 1, 称为角谷步数。
对于 5 而言,步数也是 5。
对于 1,步数为 0。

代码实现:

#include<stdio.h>
int hanshu();
int hanshu(int x)
{
    int bu=0;
    while(x!=1)
   {
        if(x%2==0)
     {
        x=x/2;
        bu++;
     }
      else if(x%2!=0)
      {
        x=x*3+1;
        bu++;
      }
   }
   return bu;
}
int main()
{
    int zhengshu;
    scanf("%d",&zhengshu);
    if(zhengshu==0)
    {
        printf("1");
    }
    else
    printf("%d",hanshu(zhengshu));
    return 0;
}

标签:角谷,hanshu,int,C语言,bu,printf,zhengshu,步数
From: https://blog.csdn.net/2302_80061080/article/details/137245033

相关文章

  • C语言链表:链式魔法,数据之美
    导入链表,作为C语言中一种基础且重要的数据结构,以其独特的方式组织和存储数据,成为了解决许多复杂问题的关键。下面,我们将更具体地探讨C语言链表的各个方面。一、链表的基本结构链表由一系列节点组成,每个节点通常包含两部分:数据域和指针域。数据域用于存储实际的数据,而指针域......
  • c语言字符串逆序-基础知识
    c语言字符串逆序(1)错误输出(2)正确输出:方法1(3)正确输出:方法2......
  • C语言中static静态关键字
    在c语言编写代码中,常见的static静态关键字用于修饰局部变量、修饰全局变量和修饰函数方法。本人也将从这三方面对static关键字的用法进行概要解释。修饰局部变量局部变量主要体现在函数方法里面的变量,咱这边直接上代码看区别:①这个是不加static关键字修饰的局部变量:②这个......
  • C语言——指针
    地址是由物理的电线上产生的,能够标识唯一一个内存单元。在C语言中,地址也叫做指针。在32位机器中,有32根地址线。地址是由32个0/1组成的二进制序列,也就是用4个字节来存储地址。在64位机器中,有64根地址线。地址是由64个0/1组成的二进制序列,也就是用8个字节来存储地址。指针类型......
  • c语言程序实验——实验报告四
    c语言程序实验————实验报告四实验项目名称:实验报告2数据描述实验项目类型:验证性实验日期:2024年3月21日一、实验目的1.在熟练掌握if语句和switch语句的基础上,能灵活使用if语句和switch语句进行选择结构的程序设计2.学习调试程序二、实验硬、软件环境Windows......
  • 2_C语言分支与循环
    C语言分支与循环分支break与continueif与elseswitch练习题循环forwhiledowhile练习题分支break与continuebreak:使流程跳到循环体之外,接着执行循环体下面的语句其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。所以:while中的break是用于永久终......
  • C语言 指针
    目录1.指针是什么?2.指针和指针类型2.1指针的解引用2.2指针加减整数3.野指针3.1指针未初始化3.2指针越界访问4.指针运算4.1指针加减整数4.2指针减指针4.3指针的关系运算5.指针和数组例1 例26.二级指针7.指针数组8.结语1.指针是什么?把内存单一的编号就......
  • 基于51单片机智能手腕计步器步数体温检测OLED显示设计20-418
    20-418、51手腕计步器设计-ADXL345-DS18B20-OLED-BELL产品功能描述:本系统由STC89C52单片机+ADXL345加速度传感器+DS18B20温度检测电路+0.96寸OLED液晶显示屏电路+蜂鸣器报警电路+电源电路组成。1、通过ADXL345检测步数,通过DS18B20检测温度。2、0.96寸OLED液晶实时显示步数......
  • 每日一题:C语言经典例题之门禁系统
    题目描述毛毛最近要负责图书馆的管理工作,需要记录下明天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,得到每一条记录中的读者是第几次出现。输入输入的第1行包含一个整数n,表示涛涛的记录条数;第2行包含n个整数,依次表示涛涛的记录中每......
  • 菜鸟记录:c语言实现PAT甲级1010--Radix
    很长时间没做,忙于考研和实习,久违的的拾起了算法。做了很长时间,其实总体思路还是很简单的,但满分不知道为什么就是到不了,又因为网上很多答案包括柳神的都是c++,无法参透,姑且只能这样了。Givenapairofpositiveintegers,forexample,6and110,canthisequation6=110bet......