cari

Cabaran Puisi !?

Sep 18, 2024 pm 05:41 PM

6 September 2024: Sebelum beralih kepada sebarang perbincangan tentang masalah itu sendiri, mari lihat latar belakangnya. Cabaran, cabaran matematik terbuka dalam buku.
Sebuah buku lama dari 1984 di Perpustakaan, nama yang saya terlupa tetapi saya mendapat gambaran tentang masalah yang sangat menarik yang ada di bahagian "Lagi untuk Dibaca...".
A, eh, Teka-teki Puisi... Ya, Anda dengar betul, masalah Matematik yang ditulis dalam bentuk Puisi Inggeris Lama.
Sejak, Sekolah Menengah saya langsung tidak menggemari Pantun, tetapi, yang ini menarik perhatian saya. Semasa saya membacanya, saya rasa seperti memahami sesuatu tetapi saya tidak memahaminya sepenuhnya. Menghabiskan lebih daripada enam jam untuk memahami teka-teki daripada dongeng, tentang naga dan sebagainya. Tetapi, satu perkara yang menyekat saya, permata. Untuk anda fahami sepenuhnya di sini adalah puisi:

**Di tanah Zopraria yang menakjubkan dan menakjubkan, di mana bintang-bintang bersenandung dengan tenang,

Dan naga purba menjaga langit, di mana masa dan pasang surut adalah satu,

Seorang bijak tua yang bijak hidup dengan tenang, yang pengetahuannya menjangkau sepanjang masa,

Tangan siapa yang boleh menenun benang sihir sebagai penyair membuat sajak.

Suatu hari, dari ketinggian syurga, di atas sayap api dan emas,

Hadiah diturunkan kepada orang bijak, seperti yang dikatakan mitos dan legenda:

Harta karun yang luas—permata yang bercahaya, seperti serpihan bintang,

Namun terikat dengan ramalan nasib sendiri, dengan peraturan setua Marikh.

Langit berbisik kepadanya, mesej yang lembut, tetapi jelas:

"Bagilah permata bercahaya ini kepada dua, dengan hati dan telinga yang berhati-hati.

Biarkan kedua-dua kapal buatan anda memegang berat yang hampir dikongsi bersama,

Keharmonian di antara mereka teguh, dalam keseimbangan yang terang dan adil.

Tetapi dengarlah kami, bijak, jika perlawanan yang sempurna hilang di luar ken anda,

Jangan putus asa dalam pencarianmu, kerana perjalananmu tetap tidak akan berakhir.

Kerana walaupun tip baki, namun anjakan sedikit mungkin,

Syurga akan tetap tersenyum kepadamu, dan berkat akan mengalir dengan percuma."

Orang bijak, dengan hati yang berani dan bijak, memulakan ujian sucinya,

Untuk fesyen kapal yang hampir sama, dan berikan bintang yang terbaik.

Naga mengelilingi tinggi di atas, sementara malaikat berhenti terbang,

Kerana dalam tugas keseimbangan ini meletakkan kebenaran semurni cahaya.

Permata, seperti rahsia masa lalu, sebelum orang bijak bertukar,

Dengan setiap pilihan, takdir terbentuk, dan hati mula terbakar.

Walaupun pekerjaan yang akan datang menakutkan, bintang-bintang masih mengagumi

Orang bijak yang berusaha, dengan tangan yang mantap, untuk mengimbangi api kosmik.

Dan bagaimana kisah itu sampai ke penghujungnya, di bawah langit yang tidak berkesudahan itu,

Hanya diketahui oleh mereka yang mencari, dan berani mengangkat mata.

Di alam Zopraria yang tidak terbatas, di mana kisah-kisah lama bertahan,

Ada yang mengatakan orang bijak masih berfikir, hati dan fikirannya bersih.

Kerana di syurga yang sunyi terletak keseimbangan yang baik dan jarang berlaku,

Keharmonian yang hanya boleh dikongsi oleh mereka yang mempunyai tangan yang stabil.**

Ini puisinya, nampak pelik kan. Dan apa yang ia lakukan dalam Buku Matematik. Ini bukan Teka-teki baharu, Teka-teki dari 1600-an lama, yang ditulis di suatu tempat di Westminster zaman moden.
Walau bagaimanapun, AI adalah kawan baik kita, betul, saya bertanya kepadanya apa jawapannya yang pelik, dan nampaknya ia tidak faham apa-apa.

A Poetic Challenge !?
Ia menyangka saya menciptanya, tetapi saya tidak melakukannya. Tetapi, bagaimana dengan GPT-4? Mari kita bertanya sama ada ia tahu apa-apa. Ia menjadi guru bahasa Inggeris saya.

A Poetic Challenge !?

A Poetic Challenge !?

Ok, Perlu menyahkodnya sendiri. Jom cuba.

9 September 2024: "Bagilah permata bercahaya ini kepada dua, dengan hati dan telinga yang berhati-hati.

Biarkan kedua-dua kapal buatan anda memegang berat yang hampir dikongsi bersama,

Keharmonian di antara mereka teguh, dalam keseimbangan yang terang dan adil.

Tetapi dengarlah kami, bijak, jika perlawanan yang sempurna hilang di luar ken anda,

Jangan putus asa dalam pencarianmu, kerana perjalananmu tetap tidak akan berakhir.

Kerana walaupun tip baki, namun anjakan sedikit mungkin,

Syurga akan tetap tersenyum kepadamu, dan berkat akan mengalir dengan percuma."

Ini adalah bahagian utama cerita dan mari kita menyahkodnya.
Selepas beberapa sumbang saran, maaf, menyeksa diri saya selama lebih daripada 3 hari berturut-turut, saya mendapat petunjuk.
Permata mungkin nombor, seperti yang dikatakan "dengan hati dan telinga yang berhati-hati."
Kapal mungkin set, tetapi konsep set tidak ditemui sehingga itu, jadi, saya mungkin silap.
Ekstrak di atas mungkin bermaksud dua set bilangan elemen yang sama, atau jumlah nombor dalam set adalah sama. Dan jika jumlahnya tidak sama, yang terdekat mungkin dipaparkan.

15 September 2024: Selepas beberapa pemikiran yang lebih kompleks dan menerbitkan banyak Artikel tambahan. Saya fikir begitu, saya mungkin telah menemui pemikiran terbaik saya pada puisi ini.
Walaupun puisi ini sudah lama, saya tidak dapat mencari penyelesaian lain untuk puisi ini. Tetapi, saya telah merangka soalan supaya Semua orang boleh faham, termasuk saya.

Cabaran

Dari perspektif C.S., ya, saya akan melakukan ini dalam bentuk C.S. dahulu dan kemudian Matematik kemudian.

Kami diberi senarai integer. Tugas kami adalah untuk membahagikan senarai kepada dua sub-senarai supaya perbezaan mutlak jumlah mereka diminimumkan. Jika perpecahan sempurna wujud, kita perlu mengembalikan dua senarai tersebut. Jika tidak, kembalikan dua senarai di mana perbezaan jumlah adalah paling kecil yang mungkin.

Contoh:

Input: [3, 1, 4, 2, 2]
Output: ([2, 4], [3, 1, 2])

Dalam contoh ini, membahagikan senarai kepada [3, 4] dan [1, 2, 2] memberikan jumlah 7 dan 5, dan perbezaan mutlak diminimumkan kepada 2.

Pengekodan

Jadi mari kita mulakan pengekodan.
16 September 2024:

from itertools import combinations

def minimize_difference(lst):
    total_sum = sum(lst)
    n = len(lst)

    # Generate all possible subsets
    best_diff = float('inf')
    best_split = ([], [])

    for i in range(1, n//2 + 1):
        for subset in combinations(lst, i):
            subset_sum = sum(subset)
            other_sum = total_sum - subset_sum

            diff = abs(subset_sum - other_sum)

            if diff 



<p>Hakikat bahawa kod itu berfungsi lebih baik daripada otak saya sungguh menakjubkan.</p>

<h3>
  
  
  <strong>Penjelasan Kod</strong>
</h3>

<p>Masalah membahagikan senarai kepada dua sub-senarai supaya perbezaan mutlak antara jumlah mereka diminimumkan, berpunca daripada cabaran matematik yang menarik. Mari kita pecahkan cara kod Python yang disediakan menangani masalah ini.</p>

<ol>
<li><p><strong>Memahami Masalah:</strong><br>
Matlamatnya adalah untuk mencari dua sub-senarai daripada senarai yang diberikan supaya jumlah mereka sedekat mungkin. Jika pemisahan sempurna wujud (di mana jumlah kedua-dua sub-senarai adalah sama), kami mengembalikan dua sub-senarai itu. Jika tidak, kami mengembalikan pecahan di mana perbezaan antara dua jumlah adalah yang paling kecil.</p></li>
<li><p><strong>Struktur Kod:</strong></p></li>
</ol>

<p>Inti kod terletak pada penjanaan semua kemungkinan gabungan elemen daripada senarai untuk membentuk salah satu daripada sub-senarai. Setelah sub-senarai dipilih, sub-senarai yang lain secara automatik dibentuk oleh elemen yang tinggal. Kemudian, kami membandingkan jumlah mereka untuk mencari pembahagian yang terbaik dengan perbezaan yang minimum.</p>

<ol>
<li><strong>Fungsi dan Konsep Utama:</strong></li>
</ol>

  • kombinasi(lst, i): Ini menjana semua kemungkinan gabungan panjang i daripada senarai. Untuk setiap subset, ia mensimulasikan salah satu daripada sub-senarai, manakala elemen yang selebihnya membentuk sub-senarai yang lain.

  • total_sum = sum(lst): Ini mengira jumlah keseluruhan senarai. Ia digunakan untuk menentukan jumlah sub-senarai yang lain dengan mudah dengan menolak jumlah subset semasa daripada jumlah keseluruhan.

  • best_diff = float('inf'): Kami memulakan pembolehubah best_diff dengan nombor yang besar (infiniti) untuk menjejaki perbezaan terkecil yang ditemui setakat ini. Semasa kami melalui setiap pemisahan yang mungkin, kami mengemas kini nilai ini jika kami mendapati perbezaan yang lebih kecil.

  • Mencari pembahagian terbaik: Untuk setiap subset yang dijana, kod mengira perbezaan antara jumlah dua sub-senarai. Jika perbezaan semasa adalah lebih kecil daripada best_diff, pembahagian akan dikemas kini.

  1. Pertimbangan Prestasi:
    Kod ini menggunakan fungsi gabungan daripada perpustakaan itertools untuk meneroka subset dengan panjang yang berbeza. Walaupun pendekatan ini berfungsi dengan baik untuk senarai yang agak kecil, pendekatan ini mungkin tidak optimum untuk senarai yang lebih besar disebabkan oleh pertumbuhan eksponen subset yang mungkin. Untuk input yang lebih besar, algoritma yang lebih cekap seperti pengaturcaraan dinamik boleh dipertimbangkan.

  2. Contoh Output:

Dalam contoh yang disediakan:

   lst = [3, 1, 4, 2, 2]
   result = minimize_difference(lst)
   print("Split lists:", result)

Fungsi membahagikan senarai kepada [2, 4] dan [3, 1, 2], menghasilkan jumlah masing-masing 6 dan 6, dan perbezaan minimum 0, yang merupakan penyelesaian optimum dalam kes ini.

  1. Mengapa ia berfungsi dengan baik: Dengan meneroka semua subset yang mungkin dan mengira perbezaan masing-masing, algoritma memastikan bahawa kita mencari pembahagian dengan perbezaan jumlah terkecil yang mungkin. Pendekatan brute-force ini intuitif dan berkesan untuk senarai bersaiz sederhana, memberikan penyelesaian yang jelas dan mudah kepada teka-teki purba ini.

Di atas yang anda lihat adalah petikan daripada diari saya, 100% benar. Tetapi versi yang lebih 'storified' tersedia melalui Storified Version yang sama

Atas ialah kandungan terperinci Cabaran Puisi !?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Python vs C: Memahami perbezaan utamaPython vs C: Memahami perbezaan utamaApr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Python vs C: Bahasa mana yang harus dipilih untuk projek anda?Python vs C: Bahasa mana yang harus dipilih untuk projek anda?Apr 21, 2025 am 12:17 AM

Memilih Python atau C bergantung kepada keperluan projek: 1) Jika anda memerlukan pembangunan pesat, pemprosesan data dan reka bentuk prototaip, pilih Python; 2) Jika anda memerlukan prestasi tinggi, latensi rendah dan kawalan perkakasan yang rapat, pilih C.

Mencapai matlamat python anda: kekuatan 2 jam sehariMencapai matlamat python anda: kekuatan 2 jam sehariApr 20, 2025 am 12:21 AM

Dengan melabur 2 jam pembelajaran python setiap hari, anda dapat meningkatkan kemahiran pengaturcaraan anda dengan berkesan. 1. Ketahui Pengetahuan Baru: Baca dokumen atau tutorial menonton. 2. Amalan: Tulis kod dan latihan lengkap. 3. Kajian: Menyatukan kandungan yang telah anda pelajari. 4. Amalan Projek: Sapukan apa yang telah anda pelajari dalam projek sebenar. Pelan pembelajaran berstruktur seperti ini dapat membantu anda menguasai Python secara sistematik dan mencapai matlamat kerjaya.

Memaksimumkan 2 Jam: Strategi Pembelajaran Python BerkesanMemaksimumkan 2 Jam: Strategi Pembelajaran Python BerkesanApr 20, 2025 am 12:20 AM

Kaedah untuk belajar python dengan cekap dalam masa dua jam termasuk: 1. Semak pengetahuan asas dan pastikan anda sudah biasa dengan pemasangan Python dan sintaks asas; 2. Memahami konsep teras python, seperti pembolehubah, senarai, fungsi, dan lain -lain; 3. Menguasai penggunaan asas dan lanjutan dengan menggunakan contoh; 4. Belajar kesilapan biasa dan teknik debugging; 5. Memohon pengoptimuman prestasi dan amalan terbaik, seperti menggunakan komprehensif senarai dan mengikuti panduan gaya PEP8.

Memilih antara python dan c: bahasa yang sesuai untuk andaMemilih antara python dan c: bahasa yang sesuai untuk andaApr 20, 2025 am 12:20 AM

Python sesuai untuk pemula dan sains data, dan C sesuai untuk pengaturcaraan sistem dan pembangunan permainan. 1. Python adalah mudah dan mudah digunakan, sesuai untuk sains data dan pembangunan web. 2.C menyediakan prestasi dan kawalan yang tinggi, sesuai untuk pembangunan permainan dan pengaturcaraan sistem. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python vs C: Analisis perbandingan bahasa pengaturcaraanPython vs C: Analisis perbandingan bahasa pengaturcaraanApr 20, 2025 am 12:14 AM

Python lebih sesuai untuk sains data dan perkembangan pesat, manakala C lebih sesuai untuk prestasi tinggi dan pengaturcaraan sistem. 1. Sintaks Python adalah ringkas dan mudah dipelajari, sesuai untuk pemprosesan data dan pengkomputeran saintifik. 2.C mempunyai sintaks kompleks tetapi prestasi yang sangat baik dan sering digunakan dalam pembangunan permainan dan pengaturcaraan sistem.

2 jam sehari: potensi pembelajaran python2 jam sehari: potensi pembelajaran pythonApr 20, 2025 am 12:14 AM

Adalah mungkin untuk melabur dua jam sehari untuk belajar Python. 1. Belajar Pengetahuan Baru: Ketahui konsep baru dalam satu jam, seperti senarai dan kamus. 2. Amalan dan Amalan: Gunakan satu jam untuk melakukan latihan pengaturcaraan, seperti menulis program kecil. Melalui perancangan dan ketekunan yang munasabah, anda boleh menguasai konsep teras Python dalam masa yang singkat.

Python vs C: Lengkung pembelajaran dan kemudahan penggunaanPython vs C: Lengkung pembelajaran dan kemudahan penggunaanApr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),