- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
String ExelCol(int col)
{
static const char c[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
String str;
if( !col ) return str;
while( true )
{
str.Insert( c[(col-1) % sizeof(c)], 1 );
if( ! ((col-1) / sizeof(c)) ) break;
col /= sizeof(c);
}
return str;
}
Lure Of Chaos 26.04.2011 15:18 # +2
Exel такой Exel
Dummy00001 26.04.2011 16:21 # 0
странно что вот таких говнокодов мало вижу, бо на практике это часто встречается: народ пытается строку в число как-нить запихнуть. или два числа в одно число. и с еще булевым флагом. или еще чего в том же духе. причина - эпик фэйл понимания структурного программирование и/или навыков моделирования данных.
guest 27.04.2011 00:24 # +3
Govnocoder#0xFF 27.04.2011 18:08 # 0
TheCalligrapher 27.04.2011 19:48 # +3
А дальше - сами смотрите. 1 миллион, говорите? В 26-ричной системе счисления это число должно записываться 5-ю знаками. Соответственно, ответ: код отработает за 5 итераций. И что тут "интересного"?
Govnocoder#0xFF 27.04.2011 20:00 # 0
guest 27.04.2011 20:03 # 0
Govnocoder#0xFF 27.04.2011 20:07 # 0
Вот ссылка, кому интересно:
http://codeforces.ru/problemset/problem/1/B
bugmenot 27.04.2011 20:14 # 0
омг, брут
Govnocoder#0xFF 27.04.2011 20:28 # 0
guest 27.04.2011 20:15 # 0
Govnocoder#0xFF 27.04.2011 20:27 # 0
absolut 27.04.2011 21:37 # −1
guest 28.04.2011 09:27 # −1
Govnocoder#0xFF 27.04.2011 20:29 # 0
Дайте асю (или жаббер). Разговор есть.
absolut 27.04.2011 21:37 # 0
guest 27.04.2011 21:44 # 0
guest 27.04.2011 22:13 # 0
guest 27.04.2011 22:16 # 0
guest 28.04.2011 12:26 # +3
GoodTalkBot 26.04.2011 18:04 # 0
TheCalligrapher 27.04.2011 02:21 # 0
А вот к использованию таблицы вместо вычисления целевого символа "формулой" придираться не стоит. Что лучше - вопрос неоднозначный. В данном случае я бы сказал что таблица даже лучше.
ReL 27.04.2011 07:16 # −3
TheCalligrapher 27.04.2011 19:52 # +2
Я бы в данном случае может быт даже вот так извратнулся
чисто ради компактности записи.
TheCalligrapher 27.04.2011 20:07 # +3
и помнить, что 'sizeof' будет возвращать на 1 больше чем надо.
TheCalligrapher 28.04.2011 01:57 # 0
А то, что там сейчас написано начнет давать неправильный результат уже в конце каждого периода, начиная со второго. Для значения 'col = 52' этот код сгеренирует имя "BZ", вместо правильного "AZ".
guest 28.04.2011 09:29 # 0
ctm 27.04.2011 07:40 # +2
int SIZE = 'Z' - 'A' + 1;
string str;
while(col > 0){
str = char(((col - 1) % SIZE) + 'A') + str;
col = (col - 1) / SIZE;
}
return str;
absolut 27.04.2011 09:22 # +2
кодировкозависимо в общем
ctm 28.04.2011 07:32 # 0
код изначально для дельфи был, а там char задейайнен
Govnocoder#0xFF 28.04.2011 16:39 # −2
А сразу высчитать никак?
absolut 28.04.2011 16:43 # +1
зачем? компилятор высчитает
Govnocoder#0xFF 28.04.2011 16:58 # −3
Быдлокодер детектед.
absolut 28.04.2011 17:06 # +1
Govnocoder#0xFF 28.04.2011 17:07 # −3
absolut 28.04.2011 19:32 # +1
Govnocoder#0xFF 28.04.2011 19:37 # −1
absolut 28.04.2011 19:56 # +1
Govnocoder#0xFF 28.04.2011 19:58 # −1
absolut 28.04.2011 20:01 # +1
Govnocoder#0xFF 28.04.2011 20:03 # −1
absolut 28.04.2011 20:17 # −1
Govnocoder#0xFF 28.04.2011 20:20 # 0
ctm 29.04.2011 06:26 # +1
absolut 29.04.2011 07:30 # −2
надо писать на русском :)
Lure Of Chaos 30.04.2011 12:15 # +1
так что понятный код - еще не значит понятен ВСЕМ
ctm 29.04.2011 06:25 # +1
здесь никак не повлияет на конечный результат, поэтому можно писать и так.
absolut 29.04.2011 07:32 # 0
TarasB 29.04.2011 09:53 # +2
Lure Of Chaos 30.04.2011 12:16 # 0
да, это просто лишний повод потормозить!
bugmenot 30.04.2011 12:21 # 0
например под виндой в вообще не запустится если в PATHTRANSLATED попали чужеродные символы
Lure Of Chaos 30.04.2011 13:06 # 0
bugmenot 30.04.2011 13:17 # 0
Lure Of Chaos 30.04.2011 13:29 # 0
bugmenot 30.04.2011 13:34 # 0
http://bugs.php.net/bug.php?id=37672
Lure Of Chaos 30.04.2011 13:36 # 0
ha
bugmenot 30.04.2011 14:02 # 0
ctm 03.05.2011 06:28 # 0
ctm 29.04.2011 06:23 # 0
guest 27.04.2011 18:02 # −15
guest 27.04.2011 22:13 # +8
guest 30.04.2011 13:08 # 0