zoukankan      html  css  js  c++  java
  • 阶乘之和解题程序

    这题其实就是高精乘


    const
     maxn=1000;
    var
    sum,a:array[0..maxn]of longint;
    n:longint;
    procedure init;//读入
    begin
        readln(n);
        a[maxn]:=1;
    end;
    procedure cf(k:longint);//乘法
    var
    i,s,g:longint;
    begin
        g:=0;
        for i:=maxn downto 1 do
        begin
            s:=a[i]*k+g;
            a[i]:=s mod 10;
            g:=s div 10;
        end;
    end;
    procedure add;//加法
    var
    g,i,s:longint;
    begin
        g:=0;
        for i:=maxn downto 1 do
        begin
            s:=a[i]+sum[i]+g;
            sum[i]:=s mod 10;
            g:=s div 10;
        end;
    end;
    procedure main;
    var
    i:longint;
    begin
        for i:=2 to n do
        begin
            cf(i);
            add;
        end;
    end;
    procedure print;//输出
    var
    i,j:longint;
    begin
        i:=1;
        while (i<=maxn)and(sum[i]=0) do inc(i);
        for j:=i to maxn do
        write(sum[j]);
    end;


    begin
        sum[maxn]:=1;
        init;
        main;
        print;
    end.

  • 相关阅读:
    windows 程序设计的一些总结
    Ubuntu 16.04 LTS 安装开发工具
    C++ 虚函数表
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day15编码
    day16迭代器
    day5
    day4
    day3
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500257.html
Copyright © 2011-2022 走看看