数学方面的一些思维训练

       初次看到这本书是在图书馆,这也许是一种缘分吧!那时候的我也正想找一些书籍看看,当然如果与java相关,那就更好了;然而她却出现在了我面前,拿起她大致翻看了一下,是一本数学相关的书籍,讲述的是一些一些公式啊,原理什么的,但却与java息息相关,于是就带回家了,闲暇的时候翻看一下还是挺好的。


递归

       理解递归,首先需要了解一种数据结构:堆栈(简称栈)。栈是一种后进先出的数据结构。在程序运行时,系统每次向栈中放入一个对象,栈指针会向上移动一个位置;当系统从栈中取出一个对象时,最近进栈的对象会被取出,指针向下移动一个位置。(栈存在于每个程序中,他不需要编写代码进行维护,而是由系统自动处理)

       递归的基本思想:把规模大的、较难解决的问题变成规模较小的、易解决的同一问题。规模较小的问题又变成规模更小的问题,并且小到一定程度可以直接得出它的解,从而得到原来问题的解。总而言之,递归处理问题就是将问题规模逐步缩小的过程。

       1、阶层

//参数n是输入的计算阶层的整数
int fact(int  n){
    if(n==0){         //递归结束的条件
        return  1;
    }else{
        renturn  n*fact(n-1);
    }
}

      2、兔生兔

斐波那契数列
公式:Fn = Fn-1 + Fn-2

int fibo(int n){
    if(n == 0)
        return 0;
    else if(n == 1)
        return 1;
    else
        return fibo(n-1)+fibo(n-2);
}

ASSCII码

        一个ASSCII码表示1个字节(8位二进制),可表示符号数:2的8次方,即256

        ASSCII码的编码大小规则

        1、数字0~9比字母编码小,比如:"9"<"A";

        2、数字按0~9顺序递增,比如:"2"<"3";

        3、字母A~Z顺序递增,比如:"A"<"B";

        4、相同字母,大写字母比小写字母小,比如:"A"<"a";

        需要记住的几个ASCII码:"0"、字母"A"、"a"分别对应48、65、97.

猜你喜欢

转载自blog.csdn.net/weixin_40106067/article/details/82830809
今日推荐