축소복사
2010. 3. 26. 10:32ㆍ2010년/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 |