Любым способом за одну минуту Ч 5

Продолжение темы, что по ссылке:
http://proza.ru/2024/08/23/1304

Вчера только вспомнил, что когда ходил на курсы программирования на языке Фортран, нам задали на дом такую задачу, что по показана в иллюстрации. Тут надо было найти все целочисленные решения при всех шести параметрах со значениями больше единицы и меньше восьми. Целые же числа a,b,c - попарно взаимно простые. При этом преподом было сказано, что любым другим способом, то есть без компьютера, еще никому не удалось найти все решения. Тогда я только начинал осваивать азы машинного счета, возился довольно долго, исправлял кучу ошибок, но задачу одолел. Сегодня уже по второму разу это задумал повторить более профессионально. Пулемётно набил прогу, текст которой в иллюстрации. Не стал, правда, вводить все необходимые ограничения и получил таблицу в виде сорока девяти строк. Далее уже вручную удалил 39 строк, в которых была нарушена попарная взаимность a,b,c и организовал окончательную таблицу. Конечно, методом ручного подбора параметров пришлось бы потеть минимум неделю. А тут получилось феноменально быстро.

25 августа 2024 г.


Рецензии
http://proza.ru/2019/07/01/1405
А вот задачу, помещенную в ссылке как решите?

Владимир Байков   27.08.2024 20:14     Заявить о нарушении
Для меня задача совсем элементарная и решается также за одну минуту по проге
n=100
print " N m w ch"
print "-----------"
for x= 1 to n
for y=1 to n
for z=1 to n
B=2*x+1/2*y+1/4*z
if B=12 then
N=N+1
print N using "##",x using "##";
print y using "##",z using "##"
fi
next z
next y
next x

Всего получим 55 вариантов. m - число мужчин, w - число женщин и ch - число детей:
N m w ch
--------------
1 1 1 38
2 1 2 36
3 1 3 34
4 1 4 32
5 1 5 30
6 1 6 28
7 1 7 26
8 1 8 24
9 1 9 22
10 1 10 20
11 1 11 18
12 1 12 16
13 1 13 14
14 1 14 12
15 1 15 10
16 1 16 8
17 1 17 6
18 1 18 4
19 1 19 2
20 2 1 30
21 2 2 28
22 2 3 26
23 2 4 24
24 2 5 22
25 2 6 20
26 2 7 18
27 2 8 16
28 2 9 14
29 2 10 12
30 2 11 10
31 2 12 8
32 2 13 6
33 2 14 4
34 2 15 2
35 3 1 22
36 3 2 20
37 3 3 18
38 3 4 16
39 3 5 14
40 3 6 12
41 3 7 10
42 3 8 8
43 3 9 6
44 3 10 4
45 3 11 2
46 4 1 14
47 4 2 12
48 4 3 10
49 4 4 8
50 4 5 6
51 4 6 4
52 4 7 2
53 5 1 6
54 5 2 4
55 5 3 2

Интересно тут следующее: сколько вариантов должны были найти математики 300 лет назад?

Георгий Александров   10.09.2024 19:22   Заявить о нарушении
Все чудесно.НО это же алгебраический подход, а книга названа Арифметика.

Владимир Байков   12.09.2024 18:08   Заявить о нарушении
Нет, неверно. Алгебра - это когда в буквенных выражениях ищется решение. В моем случае - только числа присутствуют. Причем я сознательно исключил нулевые значения участников задачи, то есть всегда хлеб зарабатывают мужчины, женщины и дети. Именно в этом случает будем иметь максимум 55 вариантов. Вручную такое можно получить, но времени потребуется слишком много.

Георгий Александров   12.09.2024 21:02   Заявить о нарушении
Приведу пример, с которого я начал рассуждения: принял количество мужчин m=5. Больше брать нельзя, поскольку шесть мужчин дадут нужные 12 буханов и вклад женщин и детей не потребуется. Следовательно, пять мужчин дадут 10 буханок. Оставшиеся 2 буханки можем получить тремя способами:

1*1/2+6*1/4=2;
2*1/2+4*1/4=2;
3*1/2+2*1/4=2

Если число m меньше пяти, то количество вариантов для w и ch окажется значительно больше. Поэтому, экономя время, я то же самое сделал по программе.

Георгий Александров   12.09.2024 21:20   Заявить о нарушении
Как только вводятся буквенные переменные - x, y, z, m - это уже не арифметика .

Владимир Байков   13.09.2024 01:55   Заявить о нарушении
Это для удобства в программе. Можно было и цепочки чисел вводит, на что ушла бы неделя написания только текста проги. Но суть все равно арифметическая,как видно из моего примера. Думаю, именно так нужно было начинать рассуждения 300 лет назад и дать лишь три варианта. Но сейчас 21 век.

Георгий Александров   13.09.2024 09:25   Заявить о нарушении