公鸡5钱一只,母鸡3钱一只,鸡仔三只1钱,100钱买100只鸡, 问公鸡、母鸡,鸡仔的个数?
PROGRAM Main
integer:x,y,z,n=0,sum
real::m
ii: do x=0,100
jj: do y=0,100
ZZ: do z=0,100
sum=x+y+z
if(sum/=100)then exit
m=5x+3y+z/3
if(sum==100.or.abs(m-100)<1e-6) then
n=n+1
write(*,100) n,x,y,Z
end if
end do ii
end do jj
end do zz
100 format(1x,"第",l2,'组解:','公鸡',l2,'只','母鸡',l2'只','鸡仔',l2,'只')
END PROGRAM Main
program main
! x+y+z=100
!5x+3y+z/3=100
!15x+9y+z=300
!3-1: 7x+4y=100
!y <= 25
!x <=14
implicit none
integer::x,y,z,n=0,sum, m
ii: do x=0,14 ! 100
jj: do y=0,25 ! 100
if(x+y>100) exit
zz: do z=0,100,3 !z为3的倍数
sum=x+y+z
if(sum>100) then
exit
else if(sum==100)then
m=15*x+9*y+z
if(m==300) then
n=n+1
write(*,100) n,x,y,z
end if
end if
end do zz
end do jj
end do ii
100 format(1x,"第",i0,'组解: ','公鸡',i2,'只,','母鸡',i2'只,','鸡仔',i2,'只.')
pause
end program main
更简单的
program main
!x+y+z=100
!5x+3y+z/3=100
!15x+9y+z=300
!3-1: 7x+4y=100
!y <= 25
!x <=14
implicit none
integer::x,y,z,n=0,sum, m
do x=0,14 ! 100
!7x+4y=100
m = 100-7*x
if(mod(m,4)==0) then
y = m / 4
z = 100-x-y
n=n+1
write(*,100) n,x,y,z
end if
end do
100 format(1x,"第",i0,'组解: ','公鸡',i2,'只,','母鸡',i2'只,','鸡仔',i2,'只.')
pause
end program main