zoukankan      html  css  js  c++  java
  • 对于递推的简单思考

           最近做了几个关于递推的题目,基本的感触就是这玩意,对排列的要求高,而且还要有一颗善于发现规律的眼睛,当然这少不了数学洞察力。今天上午做了一个有关卡特兰数的题,当然涉及到卡特兰数一般就会涉及到大数的运算。今天最大的收获就是改变以往对大数运算的方法,基于以前对大数的模拟方法,进行了革命性的改进(以前见到大数运算就头疼),这里总结一下:

             以前模拟大数运算总是用字符串,这也是导致效率低下的主要原因。今天改用整形数组,数组的每个元素保存一定的位数(以前用字符串模拟时,一个元素只能表示一位),这样就不要进行逐位模拟,每次可以运算一定说量的位数。这样也提高运算的效率。这种模拟大数的方法尤其对求大数的阶乘“疗效”更是显著。

          big[0]=n;flow=0;flag=1;//
            for(i=n-1;i>0;i--)
                {
                    flow=0;
                    for(j=0;j<flag;j++)
                    {
                        sum=big[j]*i+flow;
                        flow=sum/100000;
                        big[j]=sum%100000;
                    }if(flow){big[j]=flow;flag++;}
                }

  • 相关阅读:
    react阻止默认事件
    react组件直接在document上添加事件
    react组件更新swiper
    react组件里阻事件冒泡
    react生命周期获取异步数据
    加油
    redis教程
    redis哨兵机制
    redis复制
    致自己
  • 原文地址:https://www.cnblogs.com/orangeblog/p/2216955.html
Copyright © 2011-2022 走看看