- ÇÔ¼ö¸í
mpStr2Num ¼ö¿À» ´Ù¹èÀå Á¤¼ö·Î º¯È¯ÇÑ´Ù
- Çü½Ä
void mpStr2Num(int *num, char *str);
- Àμö
num (Ãâ·Â) º¯È¯µÈ ´Ù¹èÀå Á¤¼ö
str (ÀÔ·Â) ¼ýÀÚ¿
- ÇÔ¼öÄ¡
¾øÀ½
- ÁÖÀÇ »çÇ×
- ´Ù¹èÀå Á¤¼öÀÇ ¹è¿ÀÇ °¢ ¿ä¼Ò ai(i ´Â 1 ÀÌ»ó)´Â 1¾î¸¦ ³ªÅ¸³»,
1¾î·Î ³ªÅ¸³¾ ¼ö ÀÖ´Â ÃÖ´ëÀÇ Á¤¼ö´Â 9999 ·Î ÇÑ´Ù. ¸»ÀÇ ±æÀÌ´Â a0
ÀÇ °ªÀ¸·Î ³ªÅ¸³½´Ù. Áï, ´Ù¹èÀå Á¤¼ö´Â
anKn-1+
an-1Kn-2+...+a2K+
a1
±×¸®°í Ç¥ÇöÇÑ´Ù. ´Ù¸¸, K=10000, n=a0.
- ¿ë·Ê(mpStr2Num-test.c )
- ÇÁ·Î±×·¥(mpStr2Num.c )
#define N 10000
void mpStr2Num(int *num, char *str)
{
char *ss;
int *nn;
int k;
int x;
while (*str == ' ' || *str == '\t') str++;
while (*str == '0') str++;
ss = str;
while (*ss >= '0' && *ss <= '9') ss++;
if (ss == str) {
*num = 0;
return;
}
x = 0;
k = 1;
nn = num;
do {
x += (*--ss - '0') * k;
k *= 10;
if (k == N || ss == str) {
*++nn = x;
x = 0;
k = 1;
}
} while (ss ! = str);
*num = nn - num;
}
- ¼³¸í
- °ü·Ã ÇÔ¼ö
-
´Ù¹èÀå Á¤¼öÀÇ °¡»ê,
´Ù¹èÀå Á¤¼öÀÇ °¨»ê,
´Ù¹èÀå Á¤¼öÀÇ °ö¼À,
´Ù¹èÀå Á¤¼öÀÇ Á¦»ê,
´Ù¹èÀå Á¤¼öÀÇ Æò¹æ±Ù,
´Ù¹èÀå Á¤¼öÀÇ ´ë¼Ò ºñ±³,
´Ù¹èÀå Á¤¼ö¸¦ ¼ö¿·Î º¯È¯ÇÏ´Â,
long Á¤¼ö¸¦ ´Ù¹èÀå Á¤¼ö·Î º¯È¯ÇÏ´Â,
´Ù¹èÀå Á¤¼ö¸¦ long Á¤¼ö·Î º¯È¯ÇÑ´Ù