当前位置: 首页 > article >正文

实验06for与do~while循环---7-01 验证一个著名数学猜想

有这么一个著名的数学猜想:一个正整数n,如果是奇数就乘以3再加1,如果是偶数就将该偶数除以2,得到的新数重复刚才这个处理过程若干个次后,最终就能算到数字1。需要你做的是:编写程序看看,对于任意给定的正整数n需要经过多少次运算处理才能算到数字1。例如n为8,则需要3次;n为11,则需要14次。

输入格式:
只有一个正整数n(即待判别处理的数)。

输出格式:
输出判定过程中出现的中间数字,和最后的总次数。
例如,如果n为11应输出如下:

34
17
52
26
13
40
20
10
5
16
8
4
2
1
times=14

输入样例:
在这里给出一组输入。例如:

11
输出样例:
在这里给出相应的输出。例如:

34
17
52
26
13
40
20
10
5
16
8
4
2
1
times=14

自己写的

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

老师写的

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

http://www.kler.cn/a/398097.html

相关文章:

  • centos7 升级openssl 与升级openssh 安装卸载 telnet-server
  • 控制器ThinkPHP6
  • 《应用数学学报》
  • 浪浪云轻量服务器搭建vulfocus网络安全靶场
  • GPIO相关的寄存器(重要)
  • vue3 element el-table实现表格动态增加/删除/编辑表格行,带有校验规则
  • 循环矩阵和BCCB矩阵与向量乘积的快速计算——矩阵向量乘积与频域乘积之间的转换
  • 7、ARM_栈
  • 【日常记录-Git】git log
  • 传奇996_24——变量lua
  • Kafka常见问题及处理
  • 如何用python将pdf转换为json格式
  • 假设一棵平衡二叉树的每个结点都表明了平衡因子b,试设计一个算法,求平衡二叉树的高度。
  • ChatGPT 搜索 vs Google 搜索
  • stm32学习之路——LED闪烁实验
  • SSH隧道连接(基于linux)
  • 【366】基于springboot的高校物品捐赠管理系统
  • Python常用魔术方法 (学习笔记)
  • Prometheus面试内容整理-PromQL 查询语言
  • 【软件测试】设计测试用例的万能公式
  • git简介和本地仓库创建,并提交修改。git config init status add commit
  • 开启鸿蒙开发之旅:交互——点击事件
  • 领夹麦克风哪个品牌好,手机领夹麦克风哪个牌子好,选购推荐
  • redis集群:怎么找到AOF文件的位置
  • 每日一博 - Java的Shallow Copy和Deep Copy
  • JMeter与大模型融合应用之JMeter日志分析服务化实战应用