Просмотр полной версии : Задача [0] - Премиум на один месяц
Платформа : Java
Напишите программу, которая выводит на экран числа от 1 до 100.
При этом вместо чисел, кратных трем, программа должна выводить слово «mmo-», кратных пяти — слово «develop.ru» *.
*При всем этом можно передавать лишь 1 переменную final String, на вывод числа, слово. (Передача в метод печати ограничено 1 запросом).
P.S. Для @b3trayer (https://forum.antichat.xyz/members/890287/) , @Deazer (https://forum.antichat.xyz/members/890361/), @L2CCCP (https://forum.antichat.xyz/members/890331/) запрещено юзать if, else.
Естественно есть подвох.
Готовые решения ложить под хайд по имени пользователя @Mangol (https://forum.antichat.xyz/members/890260/)
Качество кода учитывается! Лучший из вариантов получит Премиум на один месяц.
Не совсем понял: "При всем этом можно передавать лишь 1 переменную final String, на вывод числа, слово. (Передача в метод печати ограничено 1 запросом)."
Код:
[CODE]
public static void version1() {
final int num1 = 3;
final int num2 = 5;
final String string = "mmo-develop.ru";
for(int i = 1; i
PHP:
[CODE]
public
static
void
main
(
String
[
]
args
)
{
StringBuilder s
=
new
StringBuilder
(
)
;
for
(
int i
=
1
;
i
Код:
[CODE]
public class Test
{
public static void main(String[] args)
{
for(int i = 0; i
Частично, но все же нет. Как выше описано есть злосный подвох.
Хм, тогда ТЗ неверное, все что описано соблюдено, и кратность, и передача строго 1 параметра final String и отсутствие if, else))
Код:
[CODE]
package com.l2cccp;
/**
* @author L2CCCP
* @site http://l2cccp.com/
*/
public class MangolOmgCrazyWork
{
public static void main(String... args)
{
for(int i = 1; i
Почти верно. Но есть подвох. Думай)
Ну тогда так, если уж вообще строго 1 переменная final String
Код:
[CODE]
public class Test
{
public static void main(String[] args)
{
final String s = "%1%";
for(int i = 0; i
Нет, думай! Близко, очень близко! Ты не о том сейчас думаешь) Думать нужно не о финалах уже.
Дай хоть подсказку что не так))
Не могу не как вставить хайд
Готовые решения ложить под хайд по имени пользователя @Mangol (https://forum.antichat.xyz/members/890260/) !
Скрытое содержимое для пользователей с ID: 260
Теперь точно все)))
Код:
[CODE]
public class Test
{
public static void main(String[] args)
{
for(int i = 0; i
Не могу не как вставить хайд
Хайд
В добавок на панели BB-кодов всё есть с описанием
Близко но нет, есть подвох.
Pastebin
Убрал кейс, лишние пробелы. Менее понятно, но меньше кода. + 3 и 5 добавил
У нас уже 3 лидера.
Молодец догадался
String tmpStr = "";
Должна быть финализирована.
+ ко всему лог должен идти
1
2
и тд.
Pastebin
sout в столбик.
=======
String tmpStr = "";
Должна быть финализирована.
=======
private static finalString text --> printNums(text);
Или нельзя использовать промежуточное временное поле, для решения этой задачи?
Скрытое содержимое для пользователей с ID: 260
Mizuwokiru
06.09.2015, 14:54
final String mmo = "mmo-develop.ru";
for ( int i = 0; i
@Warencense (https://forum.antichat.xyz/members/890154/) - перечитай еще раз задачу. Все должно лежать в 1 финализированной переменной.
PHP:
[CODE]
public
static
void
main
(
String
[
]
args
)
{
StringBuilder b
=
new
StringBuilder
(
)
;
for
(
int i
=
1
;
i
В 1:00 закончится время на решение задачи
Mizuwokiru
06.09.2015, 20:41
@Warencense (https://forum.antichat.xyz/members/890154/) - перечитай еще раз задачу. Все должно лежать в 1 финализированной переменной.
Оу, пардон, читаю через абзацы. Тогда так:
for(int i = 0; i
Java-man
06.09.2015, 20:57
Первый вариант - красивый.
Код:
public class Test
{
public static void main(String[] args)
{
Optional string = IntStream.rangeClosed(1, 100)
.mapToObj(i -> i % 15 == 0 ? "mmo-develop.ru" : String.valueOf(i))
.map(i -> parseInt(i, 1) % 3 == 0 ? "mmo-" : i)
.map(i -> parseInt(i, 1) % 5 == 0 ? "develop.ru" : i)
.reduce((a, b) -> a + System.lineSeparator() + b);
System.out.println(string.get());
}
public static int parseInt(String number, int defaultVal)
{
try
{
return Integer.parseInt(number);
}
catch (NumberFormatException e)
{
return defaultVal;
}
}
}
Второй вариант - короткий. Естественно я его выкладываю в максимально читабельном варианте, так как я не дебил. А так его можно сложить в одну строку.
Код:
public class Test
{
public static void main(String[] args)
{
Optional string = IntStream.rangeClosed(1, 100)
.mapToObj(i -> (i % 15 == 0)
? "mmo-develop.ru"
: (i % 3 == 0)
? "mmo-"
: (i % 5 == 0)
? "develop.ru"
: String.valueOf(i))
.reduce((a, b) -> a + System.lineSeparator() + b);
System.out.println(string.get());
}
}
Gaikotsu
06.09.2015, 21:39
Код:
[CODE]
for (int i = 1; i
Pastebin
Учтено условие final String, String += в стринг билдер. Больше объекто-ориентированно выглядит, как и задумывалось Oracle
***Скрытый текст не может быть процитирован.***
Тернарные ни кто не запрещал же ?
Нет, никто не запрещал. Не правильно, есть подвох.
Influence
07.09.2015, 00:59
***Скрытый текст не может быть процитирован.***
Тернарные ни кто не запрещал же ?
с одной стороны - нет, с другой - в основе те же иф-елсы
***Скрытый текст не может быть процитирован.***
Все кто скинул перечитайте внимательно задание. :dance2:
Вывод используется один раз с final String переменной
Код:
[CODE]
public static void main(String[] args) {
MmoDevelop obj = new MmoDevelop ();
obj.version1();
}
final String string = "null".toString(); //disabling inlining
public void version1() {
Field f;
try {
f = MmoDevelop .class.getDeclaredField("string");
f.setAccessible(true);
Field modifiers = Field.class.getDeclaredField("modifiers");
modifiers.setAccessible(true);
modifiers.setInt(f, f.getModifiers() & ~Modifier.FINAL);
} catch(Throwable e) {
throw new RuntimeException(e);
}
final int num1 = 3;
final int num2 = 5;
final int num3 = 15;
for(int i = 1; i
***Скрытый текст не может быть процитирован.***
for(int i = 1; i
xDarkDelux
07.09.2015, 09:22
Ну и кто победитель?
Выйграли:
@Java-man (https://forum.antichat.xyz/members/890645/) - премиум на 1 месяц.
Первый вариант - красивый.
Код:
public class Test
{
public static void main(String[] args)
{
Optional string = IntStream.rangeClosed(1, 100)
.mapToObj(i -> i % 15 == 0 ? "mmo-develop.ru" : String.valueOf(i))
.map(i -> parseInt(i, 1) % 3 == 0 ? "mmo-" : i)
.map(i -> parseInt(i, 1) % 5 == 0 ? "develop.ru" : i)
.reduce((a, b) -> a + System.lineSeparator() + b);
System.out.println(string.get());
}
public static int parseInt(String number, int defaultVal)
{
try
{
return Integer.parseInt(number);
}
catch (NumberFormatException e)
{
return defaultVal;
}
}
}
Второй вариант - короткий. Естественно я его выкладываю в максимально читабельном варианте, так как я не дебил. А так его можно сложить в одну строку.
Код:
public class Test
{
public static void main(String[] args)
{
Optional string = IntStream.rangeClosed(1, 100)
.mapToObj(i -> (i % 15 == 0)
? "mmo-develop.ru"
: (i % 3 == 0)
? "mmo-"
: (i % 5 == 0)
? "develop.ru"
: String.valueOf(i))
.reduce((a, b) -> a + System.lineSeparator() + b);
System.out.println(string.get());
}
}
@b3trayer (https://forum.antichat.xyz/members/890287/) - премиум 2 недели.
[QUOTE="zcxv"]
Вывод используется один раз с final String переменной
Код:
public static void main(String[] args) {
MmoDevelop obj = new MmoDevelop ();
obj.version1();
}
final String string = "null".toString(); //disabling inlining
public void version1() {
Field f;
try {
f = MmoDevelop .class.getDeclaredField("string");
f.setAccessible(true);
Field modifiers = Field.class.getDeclaredField("modifiers");
modifiers.setAccessible(true);
modifiers.setInt(f, f.getModifiers() & ~Modifier.FINAL);
} catch(Throwable e) {
throw new RuntimeException(e);
}
final int num1 = 3;
final int num2 = 5;
final int num3 = 15;
for(int i = 1; i
Код:
[CODE]
public class Mmodev {
final String text;
public Mmodev() {
text = makeString();
}
public static void main(String[] args) {
Mmodev m1 = new Mmodev();
System.out.println(m1);
}
private String makeString() {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 1; 100 >= i; i++) {
stringBuilder.append((i % 5 == 0 && i % 3 == 0) ? "mmo-develop.ru\n" : (i % 5 == 0) ? "develop.ru\n" : (i % 3 == 0) ? "mmo-\n" : i + "\n");
}
return stringBuilder.toString();
}
@Override
public String toString() {
return text;
}
}
Покажите хоть код всех участников, интересно же решение других
Up. Посты открыты для просмотра.
А по каким критериям оценивалось ?)) В теме есть более простые решения, но при этом победители все усложняют
А по каким критериям оценивалось ?)) В теме есть более простые решения, но при этом победители все усложняют
Нестандартное мышление.
Нестандартное мышление.
Тогда да, снимаю шляпу, не стандартно это точно -
Думал я наркоман, а тут вон оно как
Грац победителей))
Сразу нужно писать что нужно сделать самый медленный код.
Из всех победителей самый нормальный вариант у Иван
Не хватает еще использование JNI.
Сразу нужно писать что нужно сделать самый медленный код.
Из всех победителей самый нормальный вариант у Иван
Не хватает еще использование JNI.
Качество кода учитывается! Лучший из вариантов получит Премиум на один месяц.
И далеко не самый медленный код. Победителей не судят.
Значит у нас разные понятия "Качества".
Просто нужно было изначально писать что нужно не хорошее решение а "Нестандартное мышление".
Да и раздел называется "Java Академия" чему такой код научит новичков ?
Да и раздел называется "Java Академия" чему такой код научит новичков ?
Научит тому, как простую задачу можно усложнить в 10 раз
У меня тоже бомбануло от такого вердикта но не потому что мой вариант не посчитали лучшим (хотя он сработает быстрее всех реализации), а лишь потому что один из вариантов стал причиной взрыва моих глазных капилляров.
+Награды были выданы тем у кого не было према.
PS: Соглашусь с @Test (https://forum.antichat.xyz/members/890461/), нужно было писать не 'Качество кода учитывается! ', а 'Выиграет не стандартный код без учета качества' так как качественным кодом можно назвать программу, которая отрабатывает минимальной промежуток времени без лишнего мусора, а тот код что попал в призеры далек от этого понятия.
Одна фраза привела к пукано бомбилову
PPS: Не парьтесь будут еще конкурсы, сам придумаю что то как будет время
Desquire
07.09.2015, 19:04
Ну вообще тут много непонятного.
Условие задачи : не корректно поставлено условие задачи.
- не описанно что должно быть с числами 15, 30 и т.д. ( по логике понятно что полное, что должно быть ммо-дев.ру, но все же)
- елсе нельзя, но как оказалось тернарные можно.....
А критерий "оригинальности кода" как по мне, не совсем уместен.
Как мудреный, сложный, возможно и более долгий вариант может быть лучше?
Я только учусь ( 4 курс) и нам все время объясняли:
Код нужно строить понятно, не нужно придумывать сложные алгоритмы для решения елементарных задач.
По минимуму использовать ресурсы.
Варианты победителей, как по мне мудреные. есть менее, есть более.
От Мангола был комент, мол почти вверно, но есть подвох. ( к примеру Сссра )
Задача у него не решена что ли? операторы иф не использовал. выводит 1 строку. минимум ненужного кода.
Почему меня так задела эта тема, участвую в олимпиадах по программированию и у меня вот второй тур 12 числа....
Если бы там была такая задача ( пофиг на то что не корректное условие) то уверен что половину вашего "оригинального" кода отбросили бы.
Почему? Чаще всего есть ограничение : время выполнения, кол-во операцый, кол-во памяти под переменные.
Ну вообще тут много непонятного.
Условие задачи : не корректно поставлено условие задачи.
- не описанно что должно быть с числами 15, 30 и т.д. ( по логике понятно что полное, что должно быть ммо-дев.ру, но все же)
- елсе нельзя, но как оказалось тернарные можно.....
А критерий "оригинальности кода" как по мне, не совсем уместен.
Как мудреный, сложный, возможно и более долгий вариант может быть лучше?
Я только учусь ( 4 курс) и нам все время объясняли:
Код нужно строить понятно, не нужно придумывать сложные алгоритмы для решения елементарных задач.
По минимуму использовать ресурсы.
Варианты победителей, как по мне мудреные. есть менее, есть более.
От Мангола был комент, мол почти вверно, но есть подвох. ( к примеру Сссра )
Задача у него не решена что ли? операторы иф не использовал. выводит 1 строку. минимум ненужного кода.
Почему меня так задела эта тема, участвую в олимпиадах по программированию и у меня вот второй тур 12 числа....
Если бы там была такая задача ( пофиг на то что не корректное условие) то уверен что половину вашего "оригинального" кода отбросили бы.
Почему? Чаще всего есть ограничение : время выполнения, кол-во операцый, кол-во памяти под переменные.
Ну вот ты будешь устраиваться на работу к работодателю и ты ему скажешь условие не корректно поставлено? Ну вот ты сказал, что учишься в олимпиадных заданиях так же присутствует подвох. Пример не совсем удачный CCCP сразу реализовал верно.
Java-man
07.09.2015, 19:57
Я удивлен что мое решение со стримами является оригинальным. И я естественно не буду иметь ничего против, если мой приз отдадут кому-то другому. Но не из-за кода, а из-за того, что мы с Манголом состоим в одной команде. Насчет того, что мой код долгий: я уверен что второй вариант при добавлении параллельности ничуть не уступит вашим однопоточным итерациям. А при увеличении интервала чисел и вовсе будет быстрее.
Я удивлен что мое решение со стримами является оригинальным. И я естественно не буду иметь ничего против, если мой приз отдадут кому-то другому. Но не из-за кода, а из-за того, что мы с Манголом состоим в одной команде. Насчет того, что мой код долгий: я уверен что второй вариант при добавлении параллельности ничуть не уступит вашим однопоточным итерациям. А при увеличении интервала чисел и вовсе будет быстрее.
Распределял награды я и написал манголу как распределились места, что бы он опубликовал
Я удивлен что мое решение со стримами является оригинальным. И я естественно не буду иметь ничего против, если мой приз отдадут кому-то другому. Но не из-за кода, а из-за того, что мы с Манголом состоим в одной команде. Насчет того, что мой код долгий: я уверен что второй вариант при добавлении параллельности ничуть не уступит вашим однопоточным итерациям. А при увеличении интервала чисел и вовсе будет быстрее.
У меня бомбануло не из за тебя
Мангол в курсе
Mizuwokiru
07.09.2015, 23:15
Нестандартное мышление.
Пф, у меня оно притихло после двух лет теребиловки мозгов тичером по поводу усложнения кода всякими проверками на дурачка и т.п.
У меня бомбануло не из за тебя
Мангол в курсе
Грязные хаки они такие, если обо мне
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot