Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/162: Рейтинг темы: голосов - 162, средняя оценка - 4.88
28 / 27 / 11
Регистрация: 12.03.2009
Сообщений: 85

Лесенка - динамическое программирование

19.08.2009, 09:48. Показов 31383. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. У меня есть одна классическая задачка про Лесенку.

Лесенка
Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем предыдущий. Требуется написать программу, вычисляющую число лесенок, которое можно построить из N кубиков.

Входные данные
Во входном файле INPUT.TXT записано натуральное число N (1 ≤ N ≤ 100) – количество кубиков в лесенке.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести число лесенок, которые можно построить из N кубиков.

Примеры
INPUT.TXT OUTPUT.TXT
3 2
6 4

Я решил эту задачку с помощью грубого перебора и проходит тесты. Но я слышал что есть и другое эффективное решение с помощью динамическое программирование. Помогите решить.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2009, 09:48
Ответы с готовыми решениями:

Динамическое программирование
гайс, помогите пожалуйста есть одномерный массив длинной N мы можем ходить по массиву с шагом от I до J(только вперёд офк), скажем...

Динамическое программирование
Есть задача: Необходимо подсчитать кол-во вариантов и вывести их для сдачи для некой суммы от 1 к ... до 10 р монетами достоинством...

Динамическое программирование
Приветствую, форумчане. Так уж вышло, что жизнь свела меня с динамическим программированием. Есть задача: Стрелок стреляет по мишеням....

51
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
21.08.2009, 14:30
Студворк — интернет-сервис помощи студентам
chelovechek, что-то маловато получается.
Мой вариант (в правильности не уверен):
C++
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
#include <fstream>
 
using namespace std;
 
int main()
{
    fstream fin;
    int n;
    fin.open("input.txt", ios::in);
    fin >> n;
    fin.close();
    
    int a[101][101];
    
    for (int cn = 1; cn <= n; cn++)
        a[cn][0] = 0;
    for (int cm = 0; cm <= n; cm++)
        a[0][cm] = 1;
        
    for (int cn = 1; cn <= n; cn++)
    {
        for (int c = 1; c <= cn; c++)
            a[cn][c] = a[cn][c - 1] + a[cn - c][c - 1];
        for (int c = cn + 1; c <= n; c++)
            a[cn][c] = a[cn][cn];
    }
    
    fstream fout;
    fout.open("output.txt", ios::out | ios::trunc);
    fout << a[n][n];
    fout.close();
    return 0;
}
a[n][m] - количество лесенок из n кубиков со слоями не шире m.
cn - текущее количество кубиков, c - текущий размер нижнего слоя. (Из любого количества кубиков при нулевой ширине нельзя ничего сложить, из нуля кубиков всегда есть одна "пустая" лесенка.)
2
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.08.2009, 14:32
chelovechek, что-то маловато получается.
Подтверждаю. Да и последовательность совсем неправильно.
Если кому интересно, последовательность примерно эта.
http://www.research.att.com/~n... &go=Search
0
 Аватар для Toxa33rus
3926 / 928 / 125
Регистрация: 16.04.2009
Сообщений: 1,991
21.08.2009, 14:33
chelovechek, может я не так понял задание, но я понял так что надо найти не высоту лесенки а кол-во различных комбинаций.
Вот Ваш код выдает:
3=2
4= 2
5= 2
6= 3
7= 3
8= 3
9= 3
10= 4
11= 4
12= 4

а вот как д.б.:
3 2
4 2
5 3
6 4
7 5
8 6
9 8
10 10
11 12
12 15
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
21.08.2009, 14:46
Цитата Сообщение от Puporev Посмотреть сообщение
Подтверждаю. Да и последовательность совсем неправильно.
Если кому интересно, последовательность примерно эта.
http://www.research.att.com/~njas/sequences/?q=1%2C1%2C2%2C2%2C3%2C4%2C5%2C6%2C8%2C10%2C12%2C15%2C18%2C21&sort=2&fmt=0&language=english&go=Search
Пересчёт вручную для 14 дал 22, наверное, тогда
http://www.research.att.com/~njas/sequences/?q=1%2C1%2C2%2C2%2C3%2C4%2C5%2C6%2C8%2C10%2C12%2C15%2C18%2C22
Неужели у меня правильно?..
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.08.2009, 15:04
Пересчёт вручную для 14 дал 22, наверное, тогда
Не пойму что я пропустил?
14-0
13-1
12-2
11-3
11-2-1
10-4
10-3-1
9-5
9-4-1
9-3-2
8-6
8-5-1
8-4-2
8-3-2-1
7-6-1
7-5-2
7-4-3
7-4-2-1
6-5-3
6-5-2-1
6-4-3-1
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
21.08.2009, 15:15
Ещё 5-4-3-2
1
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
21.08.2009, 16:01
what is a staircase? should the step width be constant for a staircase, or the only constraint is that the layer above should contain at least one unit less (or at least may not contain more)?
in other words: which of the following staircases (pyramid) are valid, and which - not, and why (bottom to the top)?

0. 5,4,1
1. 6,4,2
2. 6,4,4,2
3. 8,8,6,6,4,4,2,2
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
21.08.2009, 17:12
Цитата Сообщение от novi4ok Посмотреть сообщение
what is a staircase?
Вроде же понятно написано
Лесенкой называется набор кубиков, в котором каждый горизонтальный слой содержит меньше кубиков, чем слой под ним.
Отсюда следует, что 0 и 1 верны, 2 и 3 - нет.
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.08.2009, 18:26
Можно сказать количество ступенек включая верхнюю, причем ступеньки могут быть разной ширины.

Добавлено через 55 минут 30 секунд
Вообще хорошее решение. Если вывести матрицу на экран, в последнем столбце как раз будет эта последовательность.
http://www.research.att.com/%7... %2C18%2C22

Добавлено через 2 минуты 23 секунды
Мой вариант (в правильности не уверен):
Я проверял в Паскале, все считает правильно.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
22.08.2009, 20:21
тогда я бы так посчитал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//////////////////
long countStaircases (long numberPieces, long piecesInUpperLayer){
 
    long myPeaces;
    long peacesDown;
    long retVal = 0;
    if (numberPieces > piecesInUpperLayer){
        retVal++;       // we can make at least one variant (all pieces in line in one layer)
        myPeaces = piecesInUpperLayer+1;
        peacesDown = numberPieces-myPeaces;
        while (peacesDown > myPeaces){
            retVal += countStaircases (peacesDown--, myPeaces++);
        }
    }
    return retVal;
}
а если и конкретно сами комбинации интересуют:

C++
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
43
call:
 
std::string str;
long n = getStaircases (8, 0, &str, NULL);
 
//////////////////
long getStaircases (long numberPieces, long piecesInUpperLayer, std::string *pStaircaseStr, std::string *pPrefixStr){
 
    char buffer [64];
 
    long myPeaces;
    long peacesDown;
    long retVal = 0;
    std::string staircaseStr;
    std::string myPrefixStr;
    pStaircaseStr->clear();
    if (numberPieces > piecesInUpperLayer){
        retVal++;       // we can make at least one variant (all pieces in line in one layer)
        if (pPrefixStr != NULL){
            *pStaircaseStr = *pPrefixStr;
            myPrefixStr = *pPrefixStr;
        }
        ::sprintf (buffer, "%u", numberPieces);
        *pStaircaseStr += buffer;
        myPeaces = piecesInUpperLayer+1;
        peacesDown = numberPieces-myPeaces;
        while (peacesDown > myPeaces){
            if (pPrefixStr != NULL){
                myPrefixStr = *pPrefixStr;
            } else {
                myPrefixStr.clear();
            }
            ::sprintf (buffer, "%u+", myPeaces);
            myPrefixStr += buffer;
            retVal += getStaircases (peacesDown, myPeaces, &staircaseStr, &myPrefixStr);
            *pStaircaseStr += ';';
            *pStaircaseStr += staircaseStr;
            peacesDown--;
            myPeaces++;
        }
    }
    return retVal;
}
работать будет, правда, медленно, и эта подпрограмма посчитает правильно максимум для 225 кубиков, потом long (4 байта) переполняется и переходит в отрицательные числа. можно unsigned написать, но тогда вы никогда не узнаете о переполнении. можно ускорить, создав контейнер, где хранить уже просчитанные, и, если искомые виды лесенок в нем имеются - брать оттуда. в общем - широкое поле деятельности по бесконечному улучшению. жаль - бесполезно
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
22.08.2009, 22:33
Вывод всех вариантов для кубов от 0 до N.
Для ускорения ранее найденные значения складываются в массив ppvar.

C++
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <stdio.h>
#include <stdlib.h>
 
int max_cub= 0;
int **ppvar= NULL;
 
void init_lesenka( int new_max_cub );
void final_lesenka( void );
int get_var( int cub, int width );
int calc_var( int cub, int width );
void print_ppvar();
 
 
/**************************************/
int main( int argc, char *argv[] ) {
 
int n, i;
 
argc--; argv++;
if ( argc != 1 ) {
    fprintf( stderr, "Usage: lesenka N\n" );
    exit( 2 );
}
n= atoi( argv[0] );
 
init_lesenka( n );
 
print_ppvar();
printf( "\n" );
 
printf( "n  " );
for ( i= 0; i<=n; i++ ) { printf( " %3d", i ); }
printf( "\n" );
 
printf( "var" );
for ( i= 0; i<=n; i++ ) { printf( " %3d", get_var( i, i ) ); }
printf( "\n" );
 
final_lesenka();
 
return 0;
 
} // main()
 
 
/**************************************/
void init_lesenka( int new_max_cub ) {
 
int i, j;
 
if ( ppvar != NULL ) { return; }
if ( new_max_cub>1 ) { max_cub= new_max_cub; } else { max_cub= 1; }
 
ppvar= (int**)malloc( (max_cub+1)*sizeof(int*) );
for ( i= 0; i<=max_cub; i++ ) {
    ppvar[i]= (int*)malloc( (max_cub+1)*sizeof(int) );
    for ( j= 0; j<=max_cub; j++ ) { ppvar[i][j]= -1; }
}
ppvar[0][0]= 1;
ppvar[1][1]= 1;
 
for ( i= 0; i<=max_cub; i++ ) {
    for ( j= 0; j<=i; j++ ) {
        calc_var( i, j );
    }
}
 
} // init_lesenka()
 
/**************************************/
void final_lesenka( void ) {
 
int i;
 
if ( ppvar == NULL ) { return; }
for ( i= 0; i<=max_cub; i++ ) {
    free( ppvar[i] );
}
free( ppvar );
ppvar= NULL;
max_cub= 0;
 
} // final_lesenka()
 
 
/**************************************/
int get_var( int cub, int width ) {
 
if ( cub<0 || cub>max_cub || width<0 ) { return -1; }
 
if ( cub<width ) { width= cub; }
return ppvar[cub][width];
 
} // get_var()
 
 
/**************************************/
int calc_var( int cub, int width ) {
 
int w, sum;
 
if ( cub<width ) { width= cub; }
if ( ppvar[cub][width] >= 0 ) { return ppvar[cub][width]; }
 
sum= 0;
for ( w= 1; w<=width; w++ ) {
    sum+= calc_var( cub-w, w-1 );
}
ppvar[cub][width]= sum;
return sum;
 
} // calc_var()
 
 
/**************************************/
void print_ppvar( void ) {
 
int i, j;
 
printf( "   " );
for ( j= 0; j<=max_cub; j++ ) { printf( " %3d", j ); }
printf( "\n" );
 
for ( i= 0; i<=max_cub; i++ ) {
    printf( "%2d:", i );
    for ( j= 0; j<=max_cub; j++ ) { printf( " %3d", ppvar[i][j] ); }
    printf( "\n" );
}
 
} // print_ppvar()
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
22.08.2009, 22:35
Пример вывода программы.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> v2.exe 10
      0   1   2   3   4   5   6   7   8   9  10
 0:   1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 1:   0   1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 2:   0   0   1  -1  -1  -1  -1  -1  -1  -1  -1
 3:   0   0   1   2  -1  -1  -1  -1  -1  -1  -1
 4:   0   0   0   1   2  -1  -1  -1  -1  -1  -1
 5:   0   0   0   1   2   3  -1  -1  -1  -1  -1
 6:   0   0   0   1   2   3   4  -1  -1  -1  -1
 7:   0   0   0   0   2   3   4   5  -1  -1  -1
 8:   0   0   0   0   1   3   4   5   6  -1  -1
 9:   0   0   0   0   1   3   5   6   7   8  -1
10:   0   0   0   0   1   3   5   7   8   9  10
 
n     0   1   2   3   4   5   6   7   8   9  10
var   1   1   1   2   2   3   4   5   6   8  10
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
22.08.2009, 22:37
Первая таблица - это результат функции get_var( cub, width ), где cub - число кубов, которое нужно уложить, width - ограничение на ширину самого нижнего слоя.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
22.08.2009, 22:44
Code
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
> v2.exe 20
      0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20
 0:   1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 1:   0   1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 2:   0   0   1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 3:   0   0   1   2  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 4:   0   0   0   1   2  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 5:   0   0   0   1   2   3  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 6:   0   0   0   1   2   3   4  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 7:   0   0   0   0   2   3   4   5  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 8:   0   0   0   0   1   3   4   5   6  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 9:   0   0   0   0   1   3   5   6   7   8  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
10:   0   0   0   0   1   3   5   7   8   9  10  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
11:   0   0   0   0   0   2   5   7   9  10  11  12  -1  -1  -1  -1  -1  -1  -1  -1  -1
12:   0   0   0   0   0   2   5   8  10  12  13  14  15  -1  -1  -1  -1  -1  -1  -1  -1
13:   0   0   0   0   0   1   4   8  11  13  15  16  17  18  -1  -1  -1  -1  -1  -1  -1
14:   0   0   0   0   0   1   4   8  12  15  17  19  20  21  22  -1  -1  -1  -1  -1  -1
15:   0   0   0   0   0   1   4   8  13  17  20  22  24  25  26  27  -1  -1  -1  -1  -1
16:   0   0   0   0   0   0   3   8  13  18  22  25  27  29  30  31  32  -1  -1  -1  -1
17:   0   0   0   0   0   0   2   7  13  19  24  28  31  33  35  36  37  38  -1  -1  -1
18:   0   0   0   0   0   0   2   7  14  21  27  32  36  39  41  43  44  45  46  -1  -1
19:   0   0   0   0   0   0   1   6  13  21  29  35  40  44  47  49  51  52  53  54  -1
20:   0   0   0   0   0   0   1   5  13  22  31  39  45  50  54  57  59  61  62  63  64
 
n     0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20
var   1   1   1   2   2   3   4   5   6   8  10  12  15  18  22  27  32  38  46  54  64
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
22.08.2009, 23:50
Цитата Сообщение от odip Посмотреть сообщение
Пример вывода программы.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> v2.exe 10
      0   1   2   3   4   5   6   7   8   9  10
 0:   1  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 1:   0   1  -1  -1  -1  -1  -1  -1  -1  -1  -1
 2:   0   0   1  -1  -1  -1  -1  -1  -1  -1  -1
 3:   0   0   1   2  -1  -1  -1  -1  -1  -1  -1
 4:   0   0   0   1   2  -1  -1  -1  -1  -1  -1
 5:   0   0   0   1   2   3  -1  -1  -1  -1  -1
 6:   0   0   0   1   2   3   4  -1  -1  -1  -1
 7:   0   0   0   0   2   3   4   5  -1  -1  -1
 8:   0   0   0   0   1   3   4   5   6  -1  -1
 9:   0   0   0   0   1   3   5   6   7   8  -1
10:   0   0   0   0   1   3   5   7   8   9  10
 
n     0   1   2   3   4   5   6   7   8   9  10
var   1   1   1   2   2   3   4   5   6   8  10
вывод желательно делать таким, чтобы он легко мог быть прочитан человекоподобными. лень убивает гениальность.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
23.08.2009, 13:50
2novi4ok: если тебе трудно понять что написано - ты так и скажи что тебе именно неясно.
А вывод просто компактен.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
23.08.2009, 17:23
почему, например, из нуля кубиков получается один вариант? как говорил король лир: "из ничего и выйдет ничего"(с)
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
23.08.2009, 22:48
Король Лир - это из совсем другой оперы.

Исходя из математики уложить 0 кубиков в 0 мест ( и вообще в любое число мест ) можно ровно одним способом.

Другая проверка - через составленную рекурсивную формулу.
Уложить 1 кубик в ширину 1 можно ровно 1 способом - это очевидно.
В тоже время пользуясь рекурсивной функцией что нужно сделать чтобы уложить 1 кубик ?
Нужно положить 1 кубик в нижнем ряду, а потом подсчитать сколько раз 1-1 кубик ляжет на ширину 1-1,
то есть сколько раз 0 кубиков лягут на поле ширины 0.
Если принять что значение 0, то получим ошибку в граничных значениях.
А если принять что 0 кубиков кладутся 1 способом, то и форумула оказывается верна и тут.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
26.08.2009, 17:17
odip reshil kazhdyj den' sostavljat' svoj obed iz menu, soderzhashego 0 blud (vsjo kakoje-to raznoobrazije)
0
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
26.08.2009, 18:51
динамическое программирование,коротко говоря, что-то подобное индукции,в этом алгоритме нужно каждый шаг просчитывать наперед
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2009, 18:51

Динамическое программирование
Добрый вечер. Мне задали написать задачи на динамическое программирование, но нам ничего не объясняли, поэтому обращаюсь к профессионалам....

Динамическое программирование
Нужно составить рекурентную формулу для нахождения значения последней вершины Дан ломаная, состоящая из n вершин (3 ≤ n ≤ 50). Для...

Динамическое программирование
Добрый день! Возникла проблема в решении задач динамическим программированием Задача представлена в виде системы И для её решения...

задача динамическое программирование
В город N приехал цирк с комндой атлетов. Они хотят удивить горожан города N -- выстроить из своих тел башню максимальной высоты. Башня --...

Динамическое программирование - задача
Добрый вечер! На днях попалась такая задача: Миша записывает 2 числа: n и m, а Маша должна разделить число n на m частей, не меняя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru