#!/bin/bash # ¾Æ¶óºñ¾Æ ¼ýÀÚ¸¦ ·Î¸¶ ¼ýÀÚ·Î ¹Ù²Ù±â # ¹üÀ§: 0 - 200 # Á¶ÀâÇÏÁö¸¸ µ¿ÀÛÀº ÇÕ´Ï´Ù. # ó¸® °¡´ÉÇÑ ¼ýÀÚÀÇ ¹üÀ§¸¦ ´Ã¸®°Å³ª ½ºÅ©¸³Æ®ÀÇ ±â´ÉÀ» Çâ»ó½ÃÅ°´Â °ÍÀº # µ¶ÀÚ ¿©·¯ºÐÀ» À§ÇØ ¿¬½À¹®Á¦·Î ³²°Ü ³õ½À´Ï´Ù. # »ç¿ë¹ý: roman number-to-convert LIMIT=200 E_ARG_ERR=65 E_OUT_OF_RANGE=66 if [ -z "$1" ] then echo "»ç¿ë¹ý: `basename $0` number-to-convert" exit $E_ARG_ERR fi num=$1 if [ "$num" -gt $LIMIT ] then echo "ó¸® °¡´É ¹üÀ§ ÃÊ°ú!" exit $E_OUT_OF_RANGE fi to_roman () # ÇÔ¼ö¸¦ ºÎ¸£±â Àü¿¡ ¹Ì¸® ¼±¾ðÇØ Áà¾ß µË´Ï´Ù. { number=$1 factor=$2 rchar=$3 let "remainder = number - factor" while [ "$remainder" -ge 0 ] do echo -n $rchar let "number -= factor" let "remainder = number - factor" done return $number # µ¶ÀÚ¿ë ¿¬½À¹®Á¦: # ÀÌ ÇÔ¼ö°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¼³¸íÇØ º¸¼¼¿ä. # ÈùÆ®: ¿¬¼ÓÀû »©±â¿¡ ÀÇÇÑ ³ª´©±â. } to_roman $num 100 C num=$? to_roman $num 90 LXXXX num=$? to_roman $num 50 L num=$? to_roman $num 40 XL num=$? to_roman $num 10 X num=$? to_roman $num 9 IX num=$? to_roman $num 5 V num=$? to_roman $num 4 IV num=$? to_roman $num 1 I echo exit 0