以循环来计算1/1!+1/2!+1/3!+...+1/10!
!以循环来计算1/1!+1/2!+1/3!+...+1/10!program main
implicit none
real(kind=4)::s=0
integer(kind=4)::m=1
integer i,j
do i=1,10
do j=1,i
m=m*j
end do
s=s+real(1/real(m))
end do
write(*,*)s
stop
end
!程序运行出来是infinity,这个咋办呀,无限不循环小数
program main
implicit none
real :: s = 0
integer i,j,m
do i=1,10
m = 1 !//这里很重要
do j=1,i
m=m*j
end do
s=s+1.0/m
end do
write(*,*)s
end program main 楚香饭 发表于 2023-7-24 08:24
program main
implicit none
real :: s = 0
原来如此!多谢 新手提问,我想知道为什么m=1的赋值必须写在循环体中? kundada11 发表于 2023-8-2 19:11
新手提问,我想知道为什么m=1的赋值必须写在循环体中?
因为阶乘从1开始 kundada11 发表于 2023-8-2 19:11
新手提问,我想知道为什么m=1的赋值必须写在循环体中?
因为每次阶乘,都从1开始 necrohan 发表于 2023-8-2 23:21
因为阶乘从1开始
懂了,谢谢! 楚香饭 发表于 2023-8-3 08:55
因为每次阶乘,都从1开始
谢谢!:-lol
页:
[1]