FORTRAN95程序设计 题目是 买东西问题 有1000块钱,有3样物品A,B,C,A:5元

2025-05-16 03:44:08
推荐回答(1个)
回答1:

      ! calculate max_num
      implicit none
      integer i,j,n,co,value
      integer:: a=5,b=7,c=4,total=1000
      integer,allocatable:: num(:,:),num_sum(:)

      n=total/minval([a,b,c])
      allocate(num(n*n,3),num_sum(n*n))

      co=0
      num=0
      num_sum=0
      do i=1,n
        do j=1,n
          value=total-i*a-j*b
          if(value.le.0) exit
          if(mod(value,c).ne.0) cycle
          co=co+1
          num(co,1)=i
          num(co,2)=j
          num(co,3)=value/c
          num_sum(co)=i+j+num(co,3)
        end do
      end do
      
      if(co.eq.0) then
        print *,'No result'
        stop
      end if

      n=maxval(num_sum(1:co))
      do i=1,co
        if(num_sum(i).eq.n) then
          print *, 'a=',num(i,1),'  b=',num(i,2),'  c=',num(i,3)
        end if
      end do

      stop
      end