Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для bigbadda
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 28

fibbonachi

19.09.2013, 17:58. Показов 1248. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выв2ести колич1ество чисел Фи4боначчи (0, 1, 1, 2, 3, ..... f (n) = f (n-1) + f (n-2)) на зада2нном промеж3утке [a, b], в записи которых четные цифры отсутствуют.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class Years {
 
    public static void main(String[] args) {
        long firstNum = 0, secondNum = 1, temp = 0, a, b;
        Scanner scanner = new Scanner(System.in);
        a = Integer.parseInt(scanner.nextLine());
        b = Integer.parseInt(scanner.nextLine());
 
        while ((secondNum + firstNum) < b) {
 
            temp = firstNum + secondNum;
            firstNum = secondNum;
            secondNum = temp;
 
        }
 
    }
}
Выводит в промежутке. Понимаю что нужно каджое число разбить на цифры а потом пройтись по каждому числу и проверить есть ли там парные но не получается вообще сделать.

как-то так можно,

Java
1
2
3
4
5
6
String  a = "1432";
        
        System.out.print(a.charAt(a.length()-4));
        System.out.print(a.charAt(a.length()-3));
        System.out.print(a.charAt(a.length()-2));
        System.out.print(a.charAt(a.length()-1));
или так.
но тут получается в рекурсии.
Java
1
2
3
4
while (number > 0) {
    syso( number % 10);
    number = number / 10;
}


помогите пжлст.
0
34 / 34 / 5
Регистрация: 25.02.2013
Сообщений: 221
19.09.2013, 19:06
Не кидайтесь тапками я совсем новичок.
Задание заинтересовало, но не совсем понял что именно нужно...Итак 2 решения.

1. Выводит числа Фибоначчи не считая их для чётных элементов:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Fibonachchi {
 
    public static void main(String[] args) {
        int aBarrier = 0; // левая граница
        int bBarrier = 0; // правая граница
        int index = 0; // счётчик цикла
        Scanner scanner = new Scanner(System.in);
        aBarrier = scanner.nextInt();
        bBarrier = scanner.nextInt();
        for (index = aBarrier; index <= bBarrier; index++) {
            if (index % 2 != 0) {
                System.out.print(" " + fib(index));
            }
        }
    }
 
    public static int fib(int index) {
        return (index < 2) ? index : fib(index - 1) + fib(index - 2);
    }
    
}
2. Выводит только нечётные числа Фибоначчи:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Fibonachchi2 {
 
    public static void main(String[] args) {
        int aBarrier = 0; // левая граница
        int bBarrier = 0; // правая граница
        int index = 0; // счётчик цикла
        Scanner scanner = new Scanner(System.in);
        aBarrier = scanner.nextInt();
        bBarrier = scanner.nextInt();
        for (index = aBarrier; index <= bBarrier; index++) {
            int var = fib(index);
            if (var % 2 != 0) {
                System.out.print(" " + var);
            }
                
        }
    }
 
    public static int fib(int index) {
        return (index < 2) ? index : fib(index - 1) + fib(index - 2);
    }
    
}
0
 Аватар для bigbadda
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 28
19.09.2013, 19:24  [ТС]
имелось ввиду другое, например есть ряд чисел Фиббоначи:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

так вот из них нужно убрать все числа, в которых присутствуют парные цифры. тоесть убрать нужно числа выделенные чёрным:

1 1 2 3 5 8 13 21(по-тому что старшее число "2") 34 55 89 144 233 377 610 987 1597 2584 4181 6765
0
34 / 34 / 5
Регистрация: 25.02.2013
Сообщений: 221
19.09.2013, 19:56
окей, сейчас попробую поколдовать. думается мне, что нужно распарсить число (прим. 6765) и, если есть хоть одна цифра, которая удовлетворяет условию (... % 2 == 0) - кикать такое число (всмысле не выводить его)...
теперь по поводу задания...промежуток [a, b] это промежуток натуральных чисел от которых считать последовательность Фибоначчи, которую в свою очередь уже сортировать, я правильно понял? или же это промежуток самой последовательности? хотя... в любом случае нужно генерить эту последовательность.
0
 Аватар для bigbadda
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 28
19.09.2013, 20:05  [ТС]
Цитата Сообщение от Recreate Посмотреть сообщение
окей, сейчас попробую поколдовать. думается мне, что нужно распарсить число (прим. 6765) и, если есть хоть одна цифра, которая удовлетворяет условию (... % 2 == 0) - кикать такое число (всмысле не выводить его)...
теперь по поводу задания...промежуток [a, b] это промежуток натуральных чисел от которых считать последовательность Фибоначчи, которую в свою очередь уже сортировать, я правильно понял? или же это промежуток самой последовательности? хотя... в любом случае нужно генерить эту последовательность.
на счет распарсивания числа вы правильно поняли.
единственное что, так это плохо испльз. рекурсию для чисел фиббоначи ибо это медленный способ.

лучше просто:


Java
1
2
3
4
5
6
for (int i = 1; i <= n; i++) {
 
            firstNum = secondNum;
            secondNum = rez;
            rez = firstNum + secondNum;
}
0
 Аватар для -LM-
57 / 57 / 12
Регистрация: 11.02.2013
Сообщений: 132
19.09.2013, 23:40
единственное что, так это плохо испльз. рекурсию для чисел фиббоначи ибо это медленный способ.
ну если Вам рекурсия не понравилась, то этот то такой подход точно не понравится , но...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (int i = 1; i <= n; i++) {
 
            firstNum = secondNum;
            secondNum = rez;
            rez = firstNum + secondNum;
            String rezLength = String.valueOf(rez);
            for (int j = 0; j < rezLength.length(); j++) {
                if (((Long.parseLong(String.valueOf(rezLength.charAt(j)))) % 2) == 0) {
                    j = rezLength.length() - 1;
                    continue;
                }
                if (j == (rezLength.length() - 1)) {
                    System.out.println(rez);
                }
            }
            
}
1
34 / 34 / 5
Регистрация: 25.02.2013
Сообщений: 221
20.09.2013, 00:48
"Парсер" писал на коленке в клубе(нашёл место)...уж очень хотелось решить данную задачку. Ввиду того, что я не PRO, в коде наблюдается треш и прочие радости. Ну и по специальности я инженер-проектировщик сервисных станций автомобилей и машин(станки разные). Это предисловие для того чтобы не гнобили меня бедного. Хотя...это просто отговорка. Lol
Итак, приступимс...:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;
 
public class Fibonachchi3 {
    
    static int aBarrier = 0; // левая граница
    static int bBarrier = 0; // правая граница
    static int index = 0; // счётчик цикла
    
    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        aBarrier = scanner.nextInt(); 
        bBarrier = scanner.nextInt();
        parse();
 
    }
    
    public static int fib(int index) {
        return (index < 2) ? index : fib(index - 1) + fib(index - 2);   
    }
    
    public static void parse() {
        
        for (index = aBarrier; index <= bBarrier; index++) {
            int var = fib(index);           
            String testStr = String.valueOf(var);
            char[] testArr = testStr.toCharArray();     
        
            int i = 0;
            while (i <= testArr.length - 1) {
                if ((int)testArr[i] % 2 == 0) {
                    break;
                } else {
                    i++;
                    }           
                if (i > testArr.length -1){
                    System.out.print(" " + var);
                } 
            }
        }
    }
}
Теперь поясню некоторые строчки:
Java
1
2
String testStr = String.valueOf(var);
char[] testArr = testStr.toCharArray();
Тут мы собственно преобразуем в строку уже вычисленное число Фибоначчи. Далее строку "режем" в массив char'ов для дальнейшего посимвольного сравнения на остаток от деления на 2.
Java
1
2
3
if ((int)testArr[i] % 2 == 0) {
    break;
}
Тут мы вылетим из цикла для того чтобы получить новое пригодное число Фибоначчи и снова крутить цикл.
Java
1
2
3
4
5
} else {
     i++;
    }           
    if (i > testArr.length -1){
    System.out.print(" " + var);
Тут изначально срабатывает i++ если брейк не произошёл, далее проверяется условие выхода индекса за пределы массива чаров. Если оно удовлетворяется, то это значит что число полностью "распарсили" и оно готово лететь в консоль (ну или куда его направят).
П.С. мне не нравится идея с массивом чаров, есть и другие способы(я надеюсь), но на что хватило моих знаний. Собственно всё.)
П.П.С. рекурсию сам исправишь как нравится) много вариантов, я выбрал самый короткий который помнил, дабы не загромождать код.
1
 Аватар для -LM-
57 / 57 / 12
Регистрация: 11.02.2013
Сообщений: 132
20.09.2013, 12:34
Цитата Сообщение от Recreate Посмотреть сообщение
Кликните здесь для просмотра всего текста
"Парсер" писал на коленке в клубе(нашёл место)...уж очень хотелось решить данную задачку. Ввиду того, что я не PRO, в коде наблюдается треш и прочие радости. Ну и по специальности я инженер-проектировщик сервисных станций автомобилей и машин(станки разные). Это предисловие для того чтобы не гнобили меня бедного. Хотя...это просто отговорка. Lol
Итак, приступимс...:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;
 
public class Fibonachchi3 {
    
    static int aBarrier = 0; // левая граница
    static int bBarrier = 0; // правая граница
    static int index = 0; // счётчик цикла
    
    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        aBarrier = scanner.nextInt(); 
        bBarrier = scanner.nextInt();
        parse();
 
    }
    
    public static int fib(int index) {
        return (index < 2) ? index : fib(index - 1) + fib(index - 2);   
    }
    
    public static void parse() {
        
        for (index = aBarrier; index <= bBarrier; index++) {
            int var = fib(index);           
            String testStr = String.valueOf(var);
            char[] testArr = testStr.toCharArray();     
        
            int i = 0;
            while (i <= testArr.length - 1) {
                if ((int)testArr[i] % 2 == 0) {
                    break;
                } else {
                    i++;
                    }           
                if (i > testArr.length -1){
                    System.out.print(" " + var);
                } 
            }
        }
    }
}
Теперь поясню некоторые строчки:
Java
1
2
String testStr = String.valueOf(var);
char[] testArr = testStr.toCharArray();
Тут мы собственно преобразуем в строку уже вычисленное число Фибоначчи. Далее строку "режем" в массив char'ов для дальнейшего посимвольного сравнения на остаток от деления на 2.
Java
1
2
3
if ((int)testArr[i] % 2 == 0) {
    break;
}
Тут мы вылетим из цикла для того чтобы получить новое пригодное число Фибоначчи и снова крутить цикл.
Java
1
2
3
4
5
} else {
     i++;
    }           
    if (i > testArr.length -1){
    System.out.print(" " + var);
Тут изначально срабатывает i++ если брейк не произошёл, далее проверяется условие выхода индекса за пределы массива чаров. Если оно удовлетворяется, то это значит что число полностью "распарсили" и оно готово лететь в консоль (ну или куда его направят).
П.С. мне не нравится идея с массивом чаров, есть и другие способы(я надеюсь), но на что хватило моих знаний. Собственно всё.)
П.П.С. рекурсию сам исправишь как нравится) много вариантов, я выбрал самый короткий который помнил, дабы не загромождать код.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Input a : ");
        long a = scanner.nextLong();
        System.out.println("Input b : ");
        long b = scanner.nextLong();
        long rez = 1, secondNum = 0;
        long firstNum = 0;
        for (int i = 1; i <= b; i++) {
            firstNum = rez + secondNum;
            rez = secondNum;
            secondNum = firstNum;
            String rezLength = String.valueOf(rez);
            if (i >= a) {
                for (int j = 0; j < rezLength.length(); j++) {
                    if (((Long.parseLong(String.valueOf(rezLength.charAt(j)))) % 2) == 0) {
                        j = rezLength.length() - 1;
                        continue;
                    }
                    if (j == (rezLength.length() - 1)) {
                        System.out.println(rez);
                    }
                }
            }
        }
    }
Так таже быстрее. Ваш код загибается уже после 2-й границы выше 45
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
20.09.2013, 14:01
мой вариант, всего 8 чисел в диапазоне от 0 до 1 миллиарда попадает под условие
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Fujnya {
 
    public static void main(String[] args) {
        long b = 1000_000_000; // верхняя_граница
        long f1 = 0, f2 = 1, f3 = 1; // начало_последовательности
        while (true) {
            f3 = f2 + f1;
            if (b <= f3) break;
            f1 = f2;
            f2 = f3;
            String s = String.valueOf(f3); 
            if (s.length() == s.replaceAll("[02468]", "").length()) {
                System.out.println(f3);
            }
        }
    }
}
я попробовал переделать для очень больших чисел
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.math.BigDecimal;
 
public class Fujnya {
 
    public static void main(String[] args) {
        //b_верхняя_граница
        BigDecimal b = new BigDecimal( 
                "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
        BigDecimal f1 = new BigDecimal(0); // f1, f2, f3 // начало_последовательности
        BigDecimal f2 = new BigDecimal(1);
        BigDecimal f3 = new BigDecimal(1);
        while (true) {
            f3 = f2.add(f1);
            if (f3.compareTo(b) > 0) break;
            f1 = f2;
            f2 = f3;
            String s = String.valueOf(f3);
            if (s.length() == s.replaceAll("[02468]", "").length()) {
                System.out.println(f3);
            }
        }
    }
}

больше таких чисел не попалось, но не факт что их нет дальше прикольно
2
 Аватар для bigbadda
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 28
20.09.2013, 17:14  [ТС]
Цитата Сообщение от verylazy Посмотреть сообщение
мой вариант, всего 8 чисел в диапазоне от 0 до 1 миллиарда попадает под условие
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Fujnya {
 
    public static void main(String[] args) {
        long b = 1000_000_000; // верхняя_граница
        long f1 = 0, f2 = 1, f3 = 1; // начало_последовательности
        while (true) {
            f3 = f2 + f1;
            if (b <= f3) break;
            f1 = f2;
            f2 = f3;
            String s = String.valueOf(f3); 
            if (s.length() == s.replaceAll("[02468]", "").length()) {
                System.out.println(f3);
            }
        }
    }
}
я попробовал переделать для очень больших чисел
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.math.BigDecimal;
 
public class Fujnya {
 
    public static void main(String[] args) {
        //b_верхняя_граница
        BigDecimal b = new BigDecimal( 
                "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
        BigDecimal f1 = new BigDecimal(0); // f1, f2, f3 // начало_последовательности
        BigDecimal f2 = new BigDecimal(1);
        BigDecimal f3 = new BigDecimal(1);
        while (true) {
            f3 = f2.add(f1);
            if (f3.compareTo(b) > 0) break;
            f1 = f2;
            f2 = f3;
            String s = String.valueOf(f3);
            if (s.length() == s.replaceAll("[02468]", "").length()) {
                System.out.println(f3);
            }
        }
    }
}

больше таких чисел не попалось, но не факт что их нет дальше прикольно
очень круто. спасибо.

можно вопрос?

объясните мне пожалуйста что делает эта строчка

Java
1
if (s.length() == s.replaceAll("[02468]", "").length())
я так понмаю: если длина сринги(в которую мы занесли все числа фиббоначи) равна .... и на этом всё))

[02468] это цифры которые не должны встречаться в числе.

обьясните пожалуйста.
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
20.09.2013, 17:18
s.replaceAll("[02468]", "") удаляет перечисленные цифры в строке, то есть если там будет любая из перечисленных цифр то длина строки изменится как минимум на 1
0
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
20.09.2013, 17:21
bigbadda, в строке s заменяются все четные числа и 0 заменяются на пустую строку (то есть убираются из строки) и считается длина получившейся строки.

Не по теме:

verylazy, подлец, опередил

0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
20.09.2013, 17:29
я на обеде попробовал генерировать ну очень большие числа, нагуглил прикольный способ
Java
1
BigDecimal b = new BigDecimal("1" + new String(new char[10000]).replace("\0", "0"));
создает число 1 и десять тысяч нулей (в строке такое число не очень удобно рисовать), выставлял его как верхнюю границу и искал по условию задачи - и там не нашлось, потом пробовал убирать наоборот - нечетные цифры или только какую-то одну, интересно так
0
34 / 34 / 5
Регистрация: 25.02.2013
Сообщений: 221
20.09.2013, 20:29
Цитата Сообщение от -LM- Посмотреть сообщение
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Input a : ");
        long a = scanner.nextLong();
        System.out.println("Input b : ");
        long b = scanner.nextLong();
        long rez = 1, secondNum = 0;
        long firstNum = 0;
        for (int i = 1; i <= b; i++) {
            firstNum = rez + secondNum;
            rez = secondNum;
            secondNum = firstNum;
            String rezLength = String.valueOf(rez);
            if (i >= a) {
                for (int j = 0; j < rezLength.length(); j++) {
                    if (((Long.parseLong(String.valueOf(rezLength.charAt(j)))) % 2) == 0) {
                        j = rezLength.length() - 1;
                        continue;
                    }
                    if (j == (rezLength.length() - 1)) {
                        System.out.println(rez);
                    }
                }
            }
        }
    }
Так таже быстрее. Ваш код загибается уже после 2-й границы выше 45
Если быть точным на 47 числе код должен упасть. Это из-за того что int вмещает 2^32 значений. Стоит поменять int на long уже будет 2^64. Собственно работает и ладно, задача ведь решена. Интересно будет ещё посмотреть варианты решений. Должно быть не менее 4 для полноты так сказать. Рекурсивно нужно попробовать сделать...так сказать для практики)

Протестив нашёл ошибку...в промежутке [0, 1] Ваш код ничего не делает. + в промежутке [0, 22] последнее выводимое число 1597, а должно быть 17711. Дело в том, что для того чтобы вычислить правый "край" 22 нужен 1 дополнительный проход цикла, которого попросту нет. Либо вы так задумали что промежуток имеет вид [...,...), т.е. не включет правую границу. Иначе выглядит так:
Java
1
2
3
4
5
6
               long rez = 0, secondNum = 1;
            long firstNum = 0;
            for (int i = 1; i <= b; i++) {
                firstNum = secondNum;
                secondNum = rez;
                rez = firstNum + secondNum;
Добавлено через 1 час 5 минут
Цитата Сообщение от verylazy Посмотреть сообщение
Java
1
if (s.length() == s.replaceAll("[02468]", "").length()) {
[02468] регулярки? не изучал их, но решение выглядит ооочень привлекательно.
0
 Аватар для -LM-
57 / 57 / 12
Регистрация: 11.02.2013
Сообщений: 132
21.09.2013, 14:39
Цитата Сообщение от Recreate Посмотреть сообщение
Протестив нашёл ошибку...в промежутке [0, 1] Ваш код ничего не делает. + в промежутке [0, 22] последнее выводимое число 1597, а должно быть 17711. Дело в том, что для того чтобы вычислить правый "край" 22 нужен 1 дополнительный проход цикла, которого попросту нет. Либо вы так задумали что промежуток имеет вид [...,...), т.е. не включет правую границу. Иначе выглядит так:
нет все верно, википедия говорит что 1-е число Фибоначчи 0, так что это у Вас ошибка
0
34 / 34 / 5
Регистрация: 25.02.2013
Сообщений: 221
21.09.2013, 19:36
Цитата Сообщение от -LM- Посмотреть сообщение
нет все верно, википедия говорит что 1-е число Фибоначчи 0, так что это у Вас ошибка
Ф(0)=0
Ф(1)=1
Ф(2)=1
Ф(3)=2
Ф(4)=3
Ф(5)=5

нулевое число 0, а первое - 1. на просторах интернета есть таблица до 1500 числа.
Данный код возвращает 5.
Java
1
2
3
public static int fib(5) {
        return (index < 2) ? index : fib(index - 1) + fib(index - 2);   
    }
Ваш код возвращает последним числом 3.
Java
1
2
3
4
5
for (int i = 1; i <= 5; i++) {
                firstNum = rez + secondNum;
                rez = secondNum;
                secondNum = firstNum;
                System.out.print(rez);
Плюс из той же википедии цитата: "Иногда число 0 не рассматривается как член последовательности." - отсюда следует что первое число 1, а Ф(1) = 1.
0
21.09.2013, 21:38

Не по теме:

Плюс из той же википедии цитата: "Иногда число 0 не рассматривается как член последовательности." - отсюда следует что первое число 1, а Ф(1) = 1.
ключевое слово иногда ;)

0
22.09.2013, 00:02

Не по теме:

Цитата Сообщение от -LM- Посмотреть сообщение
ключевое слово иногда
Учитывая байку про то, как вообще эта последовательность появилась, первыми двумя числами всё-таки должны быть 1, 1...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru