Code/C/C++

열혈강의 C 의 도전프로그래민 1-4번 문제.. 풀어달래서...

sidcode 2007. 9. 16. 11:52
/* 
[열혈강의 C프로그래밍 도전프로그래밍 1-4번 문제]
* 책의 문제가 나온  이전 과정에서 풀것
문제 : 돈 3500 원
    (크림빵=400, 새우깡=700, 콜라=400) 을 사고싶다.
  단 꼭 한개씩 사라 그리고 몇개씩 더 추가 구매할수있는가?


2007. 09.15 임태현
*/
/************************************************
 ps, 태현씨 풀었어, 담주에 밥사 =)

09,16,2007 일요일.. 아침 단잠을 깨우다니... by SID
***********************************************/
#include <stdio.h>
int howmany(int, int);
int main(void)
{
 int total = 3500; //, low = 3300; 최소 구매가격 적용시 주석해제....
 int a=500, b=400, c=700;
 int ai, bi, ci;
 int ao, bo, co;
 int hab;
 ao =howmany(a, total);
 bo = howmany(b, total);
 
 co = howmany(c, total);
 for(ai=1; ai <= ao; ai++)
 {
  a *= ai;
  for(bi=1; bi <= bo;bi++)
  {
   b *= bi;
   for(ci=1; ci <= co; ci++)
   {
    c *= ci;  
    hab=a+b+c;
   
    if(hab <= total) //  && hab >= low) 최소 구매가격 적용시 주석해제......
    {
     printf("크림빵 : %d 새우깡: %d  콜라 : %d  합 : %d\n", ai, ci, bi, hab);
     hab = 0;
    }
    c = 700;
   }
   b = 400;
  }
  a = 500;
 }
 return 0;
}
int howmany(int a, int total)
{
 int many=0, tmp = a;
 while(1)
 {
  if(a > total)
  {
   break;
  }
  many++;
  a +=tmp;
 }
 return many;
}

액션스크립트 를 하는 사람이..
갑자기 C언어 바람이 불어서..공부하다...
해결이 안된다며, 일요일 아침-ㅁ ㅡ+ 에 전화와서는 단점을 깨우며,
풀어달라는 문제...

제코딩이 엉성하고 참 볼품이 없는것 같군요...

다른 분들은 어떤 언어로 어떻게 푸셨나요????? 트랙백 해주세요 =)