Задача Задача [0] - Премиум на один месяц

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
Платформа : Java

Напишите программу, которая выводит на экран числа от 1 до 100.
При этом вместо чисел, кратных трем, программа должна выводить слово «mmo-», кратных пяти — слово «develop.ru» *.

*При всем этом можно передавать лишь 1 переменную final String, на вывод числа, слово. (Передача в метод печати ограничено 1 запросом).

P.S. Для @b3trayer , @Deazer, @L2CCCP запрещено юзать if, else.

Естественно есть подвох.;)

Готовые решения ложить под хайд по имени пользователя @Mangol
 
Последнее редактирование:

kick

Магистр Йода
Administrator
Сообщения
5.119
Розыгрыши
3
Реакции
3.668
Репутация
3.639
Баллы
6.485
Качество кода учитывается! Лучший из вариантов получит Премиум на один месяц.
 

zcxv

Antihero
Проверенный
Сообщения
489
Розыгрыши
0
Реакции
1.343
Репутация
812
Баллы
100
Не совсем понял: "При всем этом можно передавать лишь 1 переменную final String, на вывод числа, слово. (Передача в метод печати ограничено 1 запросом)."


Код:
public static void version1() {
     final int num1 = 3;
     final int num2 = 5;
     final String string = "mmo-develop.ru";
     for(int i = 1; i <= 100; i++) {
       while(i % num1 == 0) { //or for(; i % num1 == 0;)
         System.out.println(string.substring(0, num1));
         break;
       }
       while(i % num2 == 0) {
         System.out.println(string.substring(num1 + 1));
         break;
       }
       System.out.println(i);
     }
   }

   public static void version2() {
     final int num1 = 3;
     final int num2 = 5;
     final String string = "mmo-develop.ru";
     for(int i = 1; i <= 100; i++) {
       while(i % num1 == 0) {
         char[] chars = string.toCharArray();
         for(int j = 0; j < num1; j++) {
           System.out.print(chars[j]);
         }
         System.out.println();
         break;
       }
       while(i % num2 == 0) {
         char[] chars = string.toCharArray();
         for(int j = num2 - 1; j < chars.length; j++) {
           System.out.print(chars[j]);
         }
         System.out.println();
         break;
       }
       System.out.println(i);
     }
   }

   public static void version3() {
     final int num1 = 3;
     final int num2 = 5;
     final String string = "mmo-develop.ru";
     for(int i = 1; i <= 100; i++) {
       switch (i % num1) {
       case 0:
         System.out.printf("%s\r\n", string.substring(0, num1));
         break;
       default:
         break;
       }
       switch (i % num2) {
       case 0:
         System.out.printf("%s\r\n", string.substring(num2 - 1));
         break;
       default:
         break;
       }
       System.out.println(i);
     }
   }
 
Последнее редактирование модератором:

Test

Свой человек
Местный
Сообщения
194
Розыгрыши
0
Реакции
193
Репутация
992
Баллы
419
PHP:
public static void main(String[] args)
{
    StringBuilder s = new StringBuilder();
    for (int i = 1; i <= 100; i++)
    {
        s.append(i % 3 == 0 ? "mmo-" : i % 5 == 0 ? "develop.ru" : i);
    }
    System.out.print(s.toString());
}
 
Последнее редактирование модератором:

Tyrel

Lineage Services
Местный
Сообщения
57
Розыгрыши
0
Реакции
23
Репутация
161
Баллы
170
Код:
public class Test
{
    public static void main(String[] args)
    {
        for(int i = 0; i <= 100; i++)
        {
            final String s = i % 3 == 0 ? "mmo-" : i % 5 == 0 ? "develop.ru" : String.valueOf(i);
            System.out.println(s);
        }
    }
}
 
Последнее редактирование модератором:

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
Частично, но все же нет. Как выше описано есть злосный подвох.
 
Последнее редактирование:

Tyrel

Lineage Services
Местный
Сообщения
57
Розыгрыши
0
Реакции
23
Репутация
161
Баллы
170
Хм, тогда ТЗ неверное, все что описано соблюдено, и кратность, и передача строго 1 параметра final String и отсутствие if, else))
 
Последнее редактирование модератором:

L2CCCP

Работник недели xD
Партнер
Сообщения
458
Розыгрыши
0
Реакции
914
Репутация
1.931
Баллы
836
Код:
package com.l2cccp;

/**
* @author L2CCCP
* @site http://l2cccp.com/
*/
public class MangolOmgCrazyWork
{
    public static void main(String... args)
    {
        for(int i = 1; i <= 100; i++)
        {
            final boolean three = i % 3 == 0, five = i % 5 == 0;
            final String msg = (three && five ? "mmo-develop.ru" : three ? "mmo-" : five ? "develop.ru" : i).toString();
            show(msg);
        }
    }

    private final static void show(final Object str)
    {
        System.out.println(str);
    }
}
 
Последнее редактирование модератором:

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
Почти верно. Но есть подвох. Думай)
 
Последнее редактирование:

Tyrel

Lineage Services
Местный
Сообщения
57
Розыгрыши
0
Реакции
23
Репутация
161
Баллы
170
Ну тогда так, если уж вообще строго 1 переменная final String
Код:
public class Test
{
    public static void main(String[] args)
    {
        final String s = "%1%";
        for(int i = 0; i <= 100; i++)
        {
            System.out.println(s.replace("%1%", i % 3 == 0 ? "mmo-" : i % 5 == 0 ? "develop.ru" : String.valueOf(i)));
        }
    }
}
 
Последнее редактирование модератором:

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
Нет, думай! Близко, очень близко! Ты не о том сейчас думаешь) Думать нужно не о финалах уже.
 
Последнее редактирование:

Tyrel

Lineage Services
Местный
Сообщения
57
Розыгрыши
0
Реакции
23
Репутация
161
Баллы
170
Дай хоть подсказку что не так))
 
Последнее редактирование модератором:

Иван

Интересующийся
Пользователь
Сообщения
40
Розыгрыши
0
Реакции
3
Репутация
54
Баллы
216
Не могу не как вставить хайд :(
 

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
Готовые решения ложить под хайд по имени пользователя @Mangol !
 

Tyrel

Lineage Services
Местный
Сообщения
57
Розыгрыши
0
Реакции
23
Репутация
161
Баллы
170
Теперь точно все)))
Код:
public class Test
{
    public static void main(String[] args)
    {
        for(int i = 0; i <= 100; i++)
        {
            final String s = (i % 3 == 0 && i % 5 == 0) ? "mmo-develop.ru" : i % 3 == 0 ? "mmo-" : i % 5 == 0 ? "develop.ru" : String.valueOf(i);
            System.out.println(s);
        }
    }
}
 
Последнее редактирование модератором:

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
:Twinkle: Пока 2 лидера.
 

kick

Магистр Йода
Administrator
Сообщения
5.119
Розыгрыши
3
Реакции
3.668
Репутация
3.639
Баллы
6.485

Mangol

Участник
Пользователь
Сообщения
14
Розыгрыши
0
Реакции
2
Репутация
0
Баллы
0
Близко но нет, есть подвох.
 
Последнее редактирование:
Сверху Снизу