使用时,需设定大数模块中的
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大数模块代码较多,请通过本地下载。