题目:

题目内容:
奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。   如n = 11,得序列:11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1。(步骤中最大数是52) 

题目输入正整数n,求这个n归一过程中的最大值

输入格式:
一个正整数

输出格式:
一个正整数

输入样例:
11

输出样例:
52

时间限制:500ms内存限制:32000kb

代码实现:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
    int count = 0 ;
    int num , i , j;
    int max = 0, min = 1,  temp ;
    int buffer[1000] = {0}  , value = 0;
    scanf("%d", &num);
    while(1)
    {   //if-else是奇偶归一的核心算法
        if(num % 2 == 1){
            num*=3 ;
            num+=1 ;
        }
        else
        {
            num >>= 1 ;
        }
        value = num ;
        buffer[count] = value ;
        count ++ ;
        if(num == 1)
        {   //这里是冒泡排序,目的是为了求出排序完后最大的那个数
            for(j=1;j<=count-1;j++)
            {     /*n个数处理n-1趟*/
               for(i=0;i<=count-1-j;i++)
               {    /*每趟比前一趟少比较一次*/
                  if(buffer[i]>buffer[i+1])
                  {
                     temp=buffer[i];
                     buffer[i]=buffer[i+1];
                     buffer[i+1]=temp;
                  }
               }
            }
            printf("%d",buffer[count-1]);//冒泡排序最大的那个数一定是最后一个,假设count=14,那么最大的那个坐标应当是count-1,数组从0开始算
            break ;
        }
    }
    return 0 ;
}

OJ题:奇偶归一猜想——求归一过程中的最大值的更多相关文章

  1. Jsの数组练习-求一组数中的最大值和最小值,以及所在位置

    要求:求一组数中的最大值和最小值,以及所在位置 代码实现: <!DOCTYPE html> <html lang="en"> <head> &l ...

  2. JAVA_新建一个方法并且求三个数中的最大值

    package wac.wev.as;//新建一个方法在求最大值import java.util.Scanner; public class MaxLian {public static void m ...

  3. Java求一个数组中的最大值和最小值

    原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/9927186.html 今天在工作中遇到对一个已知的一维数组取出其最大值和最小值,分别用于参与 ...

  4. C语言:奇偶归一猜想

    1.奇偶归一猜想——求多少步归一.(10分) 题目内容: 奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1. 如n = 11,得 ...

  5. ACM 做题过程中的一些小技巧。

    ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...

  6. 一道PHP题引出的“短路求值”

    今天群里有个人问了一个问题,代码如下: $a = 3; $b = 2; if ($a = 2 || $b = 5) {     ++$a; } echo $a; 说代码段的执行的结果为1,问大家$a的 ...

  7. LeetCode第[46]题(Java):Permutations(求所有全排列) 含扩展——第[47]题Permutations 2

    题目:求所有全排列 难度:Medium 题目内容: Given a collection of distinct integers, return all possible permutations. ...

  8. 用PHP语言刷OJ题

    平常在学校都是用C,C++,Java来刷OJ题,把AC的题用不同的语言再AC一次,基本相当于翻译而已.看到学校的OJ支持提交PHP代码,于是尝试了一下. 首先,得会使用PHP,但是你如果在看这篇博客, ...

  9. 浙江工商大学15年校赛I题 Inversion 【归并排序求逆序对】

    Inversion Time Limit 1s Memory Limit 131072KB Judge Program Standard Ratio(Solve/Submit) 15.00%(3/20 ...

随机推荐

  1. Python之禅及其翻译

    凡是用过 Python的人,基本上都知道在交互式解释器中输入 import this 就会显示 Tim Peters 的 The Zen of Python,但它那偈语般的语句有点令人费解,所以我想分 ...

  2. Node.js Domain 模块

    Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常.引入 Domain 模块 语法格式如下: var domain = require(" ...

  3. Docker常见仓库Redis

    Redis 基本信息 Redis 是开源的内存 Key-Value 数据库实现. 该仓库提供了 Redis 2.6 ~ 2.8.9 各个版本的镜像. 使用方法 默认会在 6379 端口启动数据库. $ ...

  4. Android文件大头10G

    这个玩意直接10G....记录下. C:\Users\xn\AppData\Local\Android\sdk\system-images\android-23

  5. C实战:项目构建Make,Automake,CMake

    C实战:项目构建Make,Automake,CMake 在本系列文章<C实战:强大的程序调试工具GDB>中我们简要学习了流行的调试工具GDB的使用方法.本文继续"C实战" ...

  6. Android Multimedia框架总结(二十四)MediaMuxer实现手机屏幕录制成gif图

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53866405 前言:上篇中,介绍 ...

  7. mysql 跨服务器复制数据库

    比较了下,还是采用ssh的方式最简单.比如传数据库test_db mysqldump --databases test_db| ssh 121.121.121.121 test_db

  8. 【完整的App项目】颖火虫笔记v2

    好久没写博客了,一方面是因为最近确实很忙,另一方面自己在改进颖火虫笔记这款App,在前面说过该App主要是模仿的印象笔记,(还不知道的,请看:http://blog.csdn.net/htq__/ar ...

  9. Programming In Scala笔记-第十九章、类型参数,协变逆变,上界下界

    本章主要讲Scala中的类型参数化.本章主要分成三个部分,第一部分实现一个函数式队列的数据结构,第二部分实现该结构的内部细节,最后一个部分解释其中的关键知识点.接下来的实例中将该函数式队列命名为Que ...

  10. 【mybatis深度历险系列】延迟加载

    在前面的博文中,小编主要简单的介绍了mybatis中的高级映射,小伙伴们可以把mybatis和hibernate的因素进行对比,更加有利于理解.今天这篇博文,小编主要来简单介绍一下mybatis中的延 ...