Тема простих рішень (задача фараона, давня китайська задача, …..)

Автор Волод, октября 26, 2021, 12:24

0 Пользователи и 2 гостей просматривают эту тему.

Волод

Всі стомилися від складного життя, складних завдань, складних рішень.
Пропоную у цій темі збирати прості рішення.

давня китайська задача: півень 5 юанів, куриця 3 юаня, курчата -3шт. за юань

Уявимо 100 кліток, до яких ми посадимо по одному півню, тоді сума буде 500 юанів, що більше 100 юанів на 400 юаня.

Заміна півня на курку зменшує суму на 2 юані.
Заміна півня на курча зменшує суму на 14/3, але міняти на курчат треба одночасно в (3*n) клітці (де n ціле число), крок виходить 14 юанів.
Заміна курча на курку збільшує суму на  8/3, але міняти треба у трьох клітках одночасно, крок виходить 8 юанів.
400/14/3= 85,71, округлюємо до 84 кліток відповідає вимозі (3*n )
Отримуємо 16*5+ 84*1/3=108, нев'язка 8 юанів, знаходимо 8/2=4 заміни півня на курку.
Отримуємо 12 півнів, 4 курки, 84 курчата. 12*5 +4*3+ 84*1/3=100 юанів
Далі по накатаній: заміна трьох курчат на курей одночасно із заміною чотирьох півнів на курей.
8 півнів; 11 курей, 81 курча.
4 півні, 18 курей, 78 курчат.
0 півнів, 25 курей, 75 курчат.





(wiki/uk) Задача_Фараона
Для спрощення розрахунків використовуватиму не діаметр, а квадрат діаметру, це не впливає на точність.
Приймемо спершу
d2=2
Висота торкання стінки тростиною завдовжки 3м: √ (9-2) =√ 7≈ 8/3
Висота торкання стінки тростиною завдовжки 2м: 8/3 : (8/3-1) =8/5
нове значення діаметру:
d2= 4-8/5*8/5=100/25-64/25=36/25 (1,44)
Висота торкання стінки тростиною завдовжки 3м: √ (9-36/25) = √ (225/25-36/25) =√ (189/25) = 1/5*√ (189*225/225) ≈ 206/75
Висота торкання стінки тростиною завдовжки 2м: 206/75 : (206/75-1) = 206/75: (131/75) =206/131
Нове значення діаметру:
d2= (4-206/131*206/131)= (68644/17161-42436/17161)= 26206/17161 (1,527)
Висота торкання стінки тростиною завдовжки 3м:
√(9-26206/17161)= √(154449/17161-26206/17161)= √( 128243/17161) ≈ 358/131
Висота торкання стінки тростиною завдовжки 2м: 358/131 : ( 358/131-1) = 358/131: 227/131=358/227
Нове значення діаметру:
d2= 4- 358/227*358/227=206116/51529- 128164/51529=77952/51529 (1,5128)
Висота торкання стінки тростиною завдовжки 3м:
√(9- 77952/51529)= √(463761/51529-77952/51529) =√( 385809/51529) ≈621/227
Висота торкання стінки тростиною завдовжки 2м:
621/227: ( 621/227-1) =621/227: 394/227=621/394
Нове значення діаметру:
d2= 4- 621/394*624/394=620944/155236- 385641/155236=235303/155236 (1,5158)
Набридло циклити:
d=√ (235303/155236) ≈ 485/394 ≈1,231м



Python

Цитата: Волод от октября 26, 2021, 12:24
(wiki/uk) Задача_Фараона
Переписав Ваш алгоритм у вигляді програми:
def pharaoh(d2=2, tochn=1e-15, trace=False):
    d2old=0
    while abs(d2-d2old)>tochn:
        d2old=d2
        h3m=(9-d2)**.5
        h2m=h3m/(h3m-1)
        d2=4-h2m*h2m
        if trace: print(f"{d2=}")
    return d2**.5

print(pharaoh())

Результат: 1.231185723778669, що не суперечить наведоному в вікі (d≈1,23119).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Волод

Я ж  робив алгоритм для жерців мРра,  :green: як я їх собі уявляю.
Щоб знайти такий алгоритм, потрібно лише вміти шукати невідомий катет, коли відомі гіпотенуза и другий катет. І ще треба розгледіти подібність трикутників що утворюють стіни і тростини.
А рахував я без калькулятора (лише квадрат діаметра в десятковому вигляді за допомогою калькулятора, у такому вигляді він потрібен був, щоб впевнитися, що це число не розходиться).
Виходить, що розрахувати діаметр криниці, жерці могли.
Інша справа, як казав академік Лисенко: «А Ви особисто ці гени бачили?» - ніхто давньоєгипетського оригінала не бачив.

Волод

Зараз зрозумів, що мені пощастило з вибором напрямку обходу і початковим квадратом діаметру. Коли б пішов іншим шляхом  і почав розраховувати висоту торкання
тростини 2м, то висота виявилась би меншою за 1,5м, а цьому відповідає висота торкання тростини 3м більша за 3м.
Але жерці не машина, за допомогою вказівок від самого мРра вони зроблять правильний вибір, у крайньому разі скоригують...

Волод

Діаметр криниці не може бути більшим за 1,32м, а квадрат діаметру не може бути більшим за 1,75.
Така воля Великого мРра.

Python

За початкове значення діаметру можна взяти довжину меншої палиці чи будь-яке менше за неї значення (інакше вона лежатиме на дні). Втім, алгоритм працює, навіть якщо взяти більше значення, хоча в процесі обчислень може залізти в комплексні (якщо початкове значення d більше за довжину довшої палиці) — єгиптяни комплексних не знали, і не всі мови програмування їх підтримують.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Волод

Мабуть мені вкололи браковані китайські чипи. Я й .забув, що справу з коренем квадрату діаметру програма має лише у кінці, а квадрат діаметру може бути і зі знаком мінус. Але в діапазоні від комплексного діаметру до 2м, є ще погане число √3 при якому висота торкання тростини 2м стає 1м, і виникає невизначеність 1/(1-1).
Чи програма працює з такою кількістю цифр, що влучити рівно в 1 вона може раз на 1000 років?

Python

Цитата: Волод от октября 26, 2021, 12:24
давня китайська задача: півень 5 юанів, куриця 3 юаня, курчата -3шт. за юань
Тут можна крокувати або від кількості птахів, підбираючи під них суму, або від суми, підбираючи під неї кількість. Я вирішив зробити з фіксованою сумою.
Отже, беремо 100 юанів, накуповуємо на всю суму курей (можна й курчат або півнів, але я взяв курей як середніх за ціною) — 33 курки і 1 юань решти, на який купуємо трьох курчат. Маємо 33 курки і 3 курчат (усього 36 особин, що разом коштують 100 юанів).

Далі міняємо одних птахів на інших, що коштують стільки ж: 3 півні коштують як 5 курей (обмін 5 курей на 3 півнів зменшує кількість голів на 2), 1 курка коштує як 9 курчат (обмін курки на курчат збільшує кількість голів на 8).
У даному випадку, нам до 100 птахів не вистачає 64. Оскільки 64=8*8, достатньо буде обміняти 8 курей на 8*9=72 курчат.
33-8=25 курей, 3+72=75 курчат, півнів не беремо.

Цікаво, чи має ця задача інші розв'язки? І якщо додати умову, що серед придбаних птахів має бути щонайменше 1 півень, 1 курка й 1 курча, то чи матиме ця задача розв'язок у такому вигляді?..
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Волод


Волод

Задача Фараона


Є підозра, що попередній варіант алгоритму може комплексувати, то я вирішив зробити, більш брутальний варіант алгоритму, не користуючись √ і без попереднього прийняття діаметру, замість цього попередньо приймемо, що висота торкання стінки тростиною довжиною 3м дорівнює  3м.

(Хоч відчуваю, що це не сподобається великому мРра, але перейшов на калькулятор.)

Тоді:

Висота торкання стінки тростиною завдовжки 2м:  3:(3-1)=3/2 
Квадрат діаметру криниці:  4-(3/2)2=4-9/4=(16-9)/4=7/4

Квадрат нової висоти торкання стінки тростиною завдовжки 3м: 9-7/4 =(36-7)/4=29/4 
Приблизна нова висота торкання стінки тростиною завдовжки 3м: 3+(29/4-32)/(3 * 2)=3+(29-36)/(4*3*2)=3-7/24=(72-7)/24=65/24
Висота торкання стінки тростиною завдовжки 2м:  65/24/(65/24-1)= 65/41
Квадрат діаметру криниці: 4-(65/41)2= 4- 4225/1681=(6724-4225)/1681= 2599/1681≈2600/1680=65/42


Квадрат нової висоти торкання стінки тростиною завдовжки 3м: 9-65/42=(378-65)/42=313/42=7,45238

Приблизна нова висота торкання стінки тростиною завдовжки 3м:  65/24+ (313/42 – (65/24)2 )/( 65/24*2)= 65/24+(19/42-31/92)/( 65/24 *2)= 65/24+(1748-1308)/(3864* 65/24 *2)= 2,72936


Висота торкання стінки тростиною завдовжки 2м  2,72936-(2,72936-1)= 1,57825

Квадрат діаметру криниці: 4- 1,578252=1,50913


Квадрат нової висоти торкання стінки тростиною завдовжки 3м: 9-1,50913=7,49087
Приблизна нова висота торкання стінки тростиною завдовжки 3м: 2,72936
+(7,49087-2,7293632)/( 2,72936 *2)= 2,733696

Висота торкання стінки тростиною завдовжки 2м:   2,733696/(2,733696-1)= 1,57571
Квадрат діаметру криниці: 4-1,575712=1,51714


Діаметр криниці  √1,51714=1,2317

Волод

Перепрошую, вставив текст з ворду, не дивлячись, що показник ступеня «2» (при находженні квадрату діаметру) перетворився в просту двійку на кінці числа.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр