首页 >

大数模块(big integer)

作者:fcode  日期:02-27
来源:Unicomp, Inc.
本例可实现任意大小的 integer 操作。

使用时,需设定大数模块中的

integer, parameter, public :: nr_of_decimal_digits = 180

为最大的限额。比如180,表示最大可表达 10e180 的整数。这不支持动态,如果你改变了它,需重新编译。

以下例子 求 100 的阶乘,并计算结果每一位数字的和:
结果为
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000



program www_fcode_cn
  use big_integer_module !// 使用大数模块
  implicit none
  integer i
  type(big_integer) :: a !// 定义大数 a
  integer :: sum , b
  a = 1
  do i=1,100
    a = a * i
  end do !// 求 100 的阶乘
  sum=0
  call print_big (a) !// 输出大数
  write(*,*)
  do while (a > 0)
    b=modulo(a,10)
    a = a / 10
    sum=sum+b
  end do
  write(*,*) sum !// 获得大数各位数的和
end program www_fcode_cn
大数模块代码较多,请通过本地下载
常规|工具|专业|读物|
代码|教学|算法|
首页 >
FortranCoder手机版-导航