축소복사

2010. 3. 26. 10:322010년/30계단1~2단계


560 * 400 밀리미터 이미지를 표준 용지( 218 * 280 mm) 로 복사하려고 한다.

이 복사기는 축소 기능이 있어 용지에 맞게 가능한 크게 복사하려고 하는 경우 50 % 축소 복사하면 된다. 물론 90 도 회전 할수도 있다.( 랜드스케이프 모드)

문제는 복사할 이미지와 복사용지가 주어질 때 이 이미지를 복사용지에 잘림이 없이 최대로 넣기 위한 위한 축소 % 를 구하는 문제이다.

입력

4 개의 정수가 입력으로 주어진다. 처음 두 수는 복사할 이미지의 크기이고 다음 두 수는 복사용지의 크기이다.

출력

답은 1 에서 100% 사이의 정수이다.

입출력 예

입력

560 400 218 280

출력

50%

입력

10 25 88 10

출력

100%

입력

8 13 5 1

출력

12%

입력

199 333 40 2

출력

1%
---------------------------------------------------------------
#include<stdio.h>
int
 main()
{
  int igaro;
  int isero;
  int iregaro;
  int iresero;
  int swap;
  float fgaro;
  float fsero;
  float fswap;

  fprintf(stdout,"복사할 크기와  축소할  크기를 입력하세요\n");
  fscanf(stdin,"%d %d %d %d",&igaro,&isero,&iregaro,&iresero);
  if(igaro<isero)
  {
    swap=isero;
    isero=igaro;
    igaro=swap;
  }
  if(iregaro<iresero)
  {
    swap=iresero;
    iresero=iregaro;
    iregaro=swap;
  }
  
  fgaro=(float)iregaro/(float)igaro;
  fsero=(float)iresero/(float)isero;
  if(fgaro<fsero)
  {
    fswap=fsero;
    fsero=fgaro;
    fgaro=fswap;
  }
  fgaro=fgaro*100;
  fsero=fsero*100;
  igaro=(int)fgaro;
  isero=(int)fsero;
  if(1>=fgaro||1>=fsero)
  {
    printf("%d%%\n",igaro);
  }
  else
  {
    printf("%d%%\n",isero);
  }
  
  return 0;
}

소수점을 막기 위해서 ㅠㅠ... 정수형으로  바꿈

무엇보다 swap으로 맞춰야한다는것 ㅠ

'2010년 > 30계단1~2단계' 카테고리의 다른 글

OVERLAP  (0) 2010.03.29
두현의 교착 구하기  (0) 2010.03.26
등차 등비 수열 구하기  (0) 2010.03.25
점수 맞추기  (0) 2010.03.25
지하차도  (0) 2010.03.25