Re[4]: Size-contest_74
От: Нэчер  
Дата: 24.06.05 12:28
Оценка:
Здравствуйте, _DAle_, Вы писали:

_DA>Ну вот, обогнал А мои месаги не видны что ли? Я вроде еще раньше пример с глобальными переменными постил.


Их я впервые увидел здесь
Автор: vic82
Дата: 24.06.05
, за что и сказал спасибо.
Извини, если не заметил твой пост
Re[3]: Size-contest
От: Аноним  
Дата: 24.06.05 12:31
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Здравствуйте, Аноним, Вы писали:


А>>Добавил все возможные языки — можно тестить. =)

Т>whitespace забыли

админ убрал у них статистика может навернуться при 0 ...
Надо было мне Judge по другому писать +1 прибавить ..
Re[4]: Size-contest
От: _DAle_ Беларусь  
Дата: 24.06.05 12:41
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, Трурль, Вы писали:


Т>>Здравствуйте, Аноним, Вы писали:


А>>>Добавил все возможные языки — можно тестить. =)

Т>>whitespace забыли

А>админ убрал у них статистика может навернуться при 0 ...

А>Надо было мне Judge по другому писать +1 прибавить ..

Поправь условие, пожалуйста. Во-первых

t – number of test cases [t < 1000]


Во-вторых, надо бы добавить, что whitespace использовать нельзя.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[5]: _DAle_, sorry :(
От: Нэчер  
Дата: 24.06.05 15:19
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Здравствуйте, _DAle_, Вы писали:


_DA>>Ну вот, обогнал А мои месаги не видны что ли? Я вроде еще раньше пример с глобальными переменными постил.


Н>Их я впервые увидел здесь
Автор: vic82
Дата: 24.06.05
, за что и сказал спасибо.

Н>Извини, если не заметил твой пост

AAAAAAAAAAAAAAAAAAA
Я его
Автор: _DAle_
Дата: 24.06.05
увидел

Мда ... нехорошо как то получилось...
ну, в общем, сабж...
Re[6]: _DAle_, sorry :(
От: _DAle_ Беларусь  
Дата: 24.06.05 15:42
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Здравствуйте, Нэчер, Вы писали:


Н>>Здравствуйте, _DAle_, Вы писали:


_DA>>>Ну вот, обогнал А мои месаги не видны что ли? Я вроде еще раньше пример с глобальными переменными постил.


Н>>Их я впервые увидел здесь
Автор: vic82
Дата: 24.06.05
, за что и сказал спасибо.

Н>>Извини, если не заметил твой пост

Н>AAAAAAAAAAAAAAAAAAA

Н>Я его
Автор: _DAle_
Дата: 24.06.05
увидел


Н>Мда ... нехорошо как то получилось...

Н>ну, в общем, сабж...

Да ладно, чего уж тут
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[5]: Size-contest
От: Кодт Россия  
Дата: 24.06.05 16:19
Оценка: +1
Здравствуйте, _DAle_, Вы писали:

_DA>Во-вторых, надо бы добавить, что whitespace использовать нельзя.


Надо изменить требования к подсчёту. Сказать, что пробелы и переводы строк УЧИТЫВАЮТСЯ, и пусть народ сам выжимает всё возможное.
Ибо в паскале пробелы являются служебными символами: сравни
if true then x:=0;
iftruethenx:=0;

а в Си и переводы строк кое-где (в #инструкциях) существенны.

Вот тогда и будет очевидно, что whitespace (будучи очень низкоуровневым языком) проиграет, наряду с brainfuck и т.п.
Перекуём баги на фичи!
Re[3]: Size-contest_70!!!
От: Нэчер  
Дата: 24.06.05 19:52
Оценка:
Н>>Здравствуйте, Сергей, Вы писали:

С>>>Здравствуйте.

С>>>Осмелюсь предложить такую задачу:

С>>>
С>>>Вам дан набор чисел, найдите сумму всех положительных чисел в нем. 

С>>>Входные данные
С>>>В первой строке записано количество чисел N (0 <= N <= 1000). 
С>>>Затем следует N целых чисел, по модулю не превосходящих 1000. 

С>>>Выходные данные
С>>>Выведите единственное целое число -- сумму положительных чисел из данного набора.

С>>>Ввод: stdin
С>>>Вывод: stdout
С>>>


С>>>При подсчете размера исходника не учитываются символы с кодом <= 32.


С>>>Это задача с нашего университетского соревнования. Пока (и довольно давно) там побеждают дельфисты — 76 байт. Мне удалось написать решение для BCC 5.5 размером 76 байт, но оно не компилируется на предлагаемх VC7.1, GCC3.



Вот хакерский Си вариант программы длинной в 70 байт, прошедший проверку https://spoj.sphere.pl/ranks/SIZECON/
(В таблице результатов он имеет длинну 77 символов из-за return!printf("%d",s))

n,i,s;main(){for(;scanf("%d",&n+!i--),s+=n*=n>0,i>0;);printf("%d",s);}


Если вы попытаетесь запустить этот код на своей машине, то скорее всего получите неверный результат.
Это связано с порядком следования переменных в памяти. Измините 's' на 'i' в тексте программы (изменение порядка объявления может ничего не дать) и у вас все получится.
Re[4]: Size-contest_68!!!
От: Нэчер  
Дата: 24.06.05 20:32
Оценка:
Здравствуйте, Нэчер, Вы писали:

<оверквотинг вырезан> — Кодт

Стормозил...
Теперь 68 байт(75 на сфере):

n,i,s;main(){for(;scanf("%d",&n+!i--),s+=n*=n>0,i;);printf("%d",s);}
Re[4]: Size-contest
От: Alex Alexandrov США  
Дата: 26.06.05 19:32
Оценка: +2
Здравствуйте, Кодт, Вы писали:

К>А кто будет обнулять s?


Есть воспоминание (не могу найти в стандарте), что глобальные переменные автоматически инициализуруются нулями.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
It's kind of fun to do the impossible (Walt Disney)
Re[5]: Size-contest
От: Сергей  
Дата: 26.06.05 19:46
Оценка:
Здравствуйте, Alex Alexandrov, Вы писали:

AA>Здравствуйте, Кодт, Вы писали:


К>>А кто будет обнулять s?


AA>Есть воспоминание (не могу найти в стандарте), что глобальные переменные автоматически инициализуруются нулями.

Не знаю, как насчет стандарта, но практически так оно и есть (в контексте x86/BCC/GCC/VC, не распространять на другие платформы/компиляторы ).
Re[6]: Size-contest
От: Аноним  
Дата: 27.06.05 05:37
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, _DAle_, Вы писали:


_DA>>Во-вторых, надо бы добавить, что whitespace использовать нельзя.


К>Надо изменить требования к подсчёту. Сказать, что пробелы и переводы строк УЧИТЫВАЮТСЯ, и пусть народ сам выжимает всё возможное.

К>Ибо в паскале пробелы являются служебными символами: сравни
К>
К>if true then x:=0;
К>iftruethenx:=0;
К>

К>а в Си и переводы строк кое-где (в #инструкциях) существенны.

К>Вот тогда и будет очевидно, что whitespace (будучи очень низкоуровневым языком) проиграет, наряду с brainfuck и т.п.


Так и есть вот в этой задаче: http://spoj.sphere.pl/problems/KAMIL/
Я сделал условие таким же как дано в условии, здесь на rsdn.ru, хотя учитывать все символы мне тоже кажется более логичным.
Re[5]: Size-contest
От: Аноним  
Дата: 27.06.05 05:39
Оценка:
Здравствуйте, _DAle_, Вы писали:

_DA>Здравствуйте, <Аноним>, Вы писали:


А>>Здравствуйте, Трурль, Вы писали:


Т>>>Здравствуйте, Аноним, Вы писали:


А>>>>Добавил все возможные языки — можно тестить. =)

Т>>>whitespace забыли

А>>админ убрал у них статистика может навернуться при 0 ...

А>>Надо было мне Judge по другому писать +1 прибавить ..

_DA>Поправь условие, пожалуйста. Во-первых

_DA>

_DA>t – number of test cases [t < 1000]


_DA>Во-вторых, надо бы добавить, что whitespace использовать нельзя.


Не понял, что исправить.
Whitespace просто нет в списке возможных языов для данной задачи, этого ИМХО достаточно. =)
Re[6]: Size-contest
От: _DAle_ Беларусь  
Дата: 27.06.05 07:59
Оценка:
Здравствуйте, <Аноним>, Вы писали:

_DA>>Поправь условие, пожалуйста. Во-первых

_DA>>

_DA>>t – number of test cases [t < 1000]


_DA>>Во-вторых, надо бы добавить, что whitespace использовать нельзя.


А>Не понял, что исправить.

Ну как что. Нет там никаких "test cases". Там число N вводится, а потом N чисел, а в условии посмотри, что написано.

А>Whitespace просто нет в списке возможных языов для данной задачи, этого ИМХО достаточно. =)


Объяснишь потом это людям, которые напишут на whitespace прогу, а потом обломаются на списке языков
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[7]: Size-contest
От: Аноним  
Дата: 27.06.05 08:16
Оценка:
Здравствуйте, _DAle_, Вы писали:

_DA>Здравствуйте, <Аноним>, Вы писали:


_DA>>>Поправь условие, пожалуйста. Во-первых

_DA>>>

_DA>>>t – number of test cases [t < 1000]


_DA>>>Во-вторых, надо бы добавить, что whitespace использовать нельзя.


А>>Не понял, что исправить.

_DA>Ну как что. Нет там никаких "test cases". Там число N вводится, а потом N чисел, а в условии посмотри, что написано.

Ну вот это первое число и есть t. А затем t чисел.

А>>Whitespace просто нет в списке возможных языов для данной задачи, этого ИМХО достаточно. =)


_DA>Объяснишь потом это людям, которые напишут на whitespace прогу, а потом обломаются на списке языков


Перепишут на BrainFuck'e потом. =)
Re[2]: Size-contest
От: Erop Россия  
Дата: 30.06.05 23:41
Оценка:
Здравствуйте, Кодт, Вы писали:

К>K&R Си

К>
К>#define R (scanf("%d",&t),t>0?t:0)
К>main(){int t,n=R,s=0;for(;n--;s+=R);printf("%d",s);}
К>

К>Что-то не получается меньше 87 символов (включая 3 обязательных пробела и 1 LF).

А

#include <stdio.h>

почему не считается?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Size-contest
От: Сергей  
Дата: 01.07.05 04:37
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Кодт, Вы писали:


К>>K&R Си

К>>
К>>#define R (scanf("%d",&t),t>0?t:0)
К>>main(){int t,n=R,s=0;for(;n--;s+=R);printf("%d",s);}
К>>

К>>Что-то не получается меньше 87 символов (включая 3 обязательных пробела и 1 LF).

E>А


E>
E>#include <stdio.h>
E>

E>почему не считается?

Здесь
Автор: Кодт
Дата: 23.06.05
уже про это спрашивали и отвечали.
Re[7]: Size-contest
От: Аноним  
Дата: 05.07.05 13:12
Оценка:
а если машкодом писать, сколько там байтов будет значением больше 32?
Re: Size-contest
От: Аноним  
Дата: 05.07.05 13:19
Оценка: 1 (1)
Самые прикольные решения:
PERL:
16 символов — код сюда выложить не могу так как он содержит нечитаемые символы, все основано на операторе "s". Очень забавно выглядит, все в квадратиках. =)
21 символ:
print 0+ map 1..<>,1..<>


LISP:
47 символов:
(print (loop repeat (read)
             for r = (read)
             if (> r 0)
               sum r))


HASK:
58 символов:
 g(x:y)=take x y
 main=interact $ show.sum.g.map (max 0.read).words


С++:
74 символа:
#include<algo.h> 
int n,j,s;

main()
{
    for (cin >> n; n--;)
        cin >> j,
        s += j *= j>0;    
    cout << s;
}


С:
75 символов: (Приз зрительских симпатий!)

 n,i,s;main(){for(;scanf("%d",&n+!i--),s+=n*=n>0,i;);return!printf("%d",s);}



Pascal:
85 символов:

var j,s,n:int64;
begin
  read(n);
  repeat
    read(j);
    if j>0 then s:=s+j;
    dec(n)
  until n=0;
  write(s)
end.
Re[2]: Size-contest
От: _DAle_ Беларусь  
Дата: 05.07.05 13:32
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А> Самые прикольные решения:


...

Можно было и копирайты расставить
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re: Size-contest
От: Аноним  
Дата: 05.07.05 13:38
Оценка:
https://spoj.sphere.pl/ranks/SIZECON/

Как всё опошлили...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.