(aa akan menjadi salah satu dari banyak, bb tidak akan)
Saya pikir ini akan menjadi 10! / 8! Tapi ternyata saya melakukan sesuatu yang salah. Adakah yang bisa membantu saya karena saya bingung.
(aa akan menjadi salah satu dari banyak, bb tidak akan)
Saya pikir ini akan menjadi 10! / 8! Tapi ternyata saya melakukan sesuatu yang salah. Adakah yang bisa membantu saya karena saya bingung.
Jawaban:
Anda memiliki 6 huruf berbeda: a, b, c, d, e, f yang darinya Anda dapat menghasilkan 6 x 5 = 30 kata dengan dua huruf berbeda. Selain itu, Anda dapat menghasilkan 3 kata aa, cc, dd dengan huruf yang sama dua kali. Jadi jumlah total kata adalah 30 + 3 = 33.
Alternatif untuk metode Zahava: ada cara memasangkan dua huruf af. Namun, tidak ada 2 b, e atau f karakter, jadi "bb", "ee" dan "ff" tidak mungkin, membuat jumlah kata 36 - 3 = 33 .
Cara Anda mencoba mendekati masalah tampaknya mengabaikan fakta bahwa tidak ada 10 huruf berbeda. Jika Anda memiliki 10 huruf berbeda maka jawaban Anda akan benar.
Jika Anda tidak dapat mengatasinya dengan cara yang "pintar", sering kali patut dicoba dengan kekerasan. Bayangkan Anda mencoba menuliskan daftar semua kata yang dapat Anda buat berdasarkan abjad.
Berapa banyak yang bisa mulai dengan "A"? Nah "A" bisa diikuti oleh A, B, C, D, E atau F, jadi itu enam cara.
Berapa banyak yang bisa mulai dengan "B"? Itu bisa diikuti oleh A, C, D, E atau F, yang hanya lima cara, karena tidak ada "B" kedua.
Berapa banyak yang bisa mulai dengan "C"? Karena "C" muncul tiga kali dalam daftar Anda, itu dapat diikuti dengan sendirinya, atau oleh salah satu dari lima huruf lainnya, jadi sama seperti "A" ada enam cara. Perhatikan bahwa kami tidak mendapatkan cara "ekstra" apa pun hanya karena "C" muncul lebih dari "A"; apa pun di luar penampilan kedua adalah mubazir.
Mudah-mudahan sekarang jelas bahwa setiap huruf yang muncul hanya sekali dalam daftar Anda dapat muncul di awal lima kata, dan huruf yang muncul dua kali atau lebih dapat muncul pada awal enam kata. Huruf-huruf yang muncul hanya sekali adalah "B", "E" dan "F", yang masing-masing dapat di mulai dari lima kata, sehingga menghasilkan 5 + 5 + 5 = 15 kata. Huruf-huruf yang muncul dua kali atau lebih adalah "A", "C" dan "D", yang masing-masing dapat di mulai dari enam kata, sehingga menghasilkan 6 + 6 + 6 = 18 kata. Total ada 15 + 18 = 33 kata.
Ini lebih bertele-tele daripada metode lain, tetapi dengan mencoba memikirkan jawabannya dengan cara sistematis ini, Anda mungkin dapat "menemukan" salah satu metode yang lebih cepat.
Perhatikan bahwa jika ini telah diutarakan sebagai pertanyaan probabilitas, kecenderungan pertama Anda mungkin menggambar diagram pohon . Itu akan dimulai dengan enam cabang untuk huruf pertama, tetapi untuk huruf kedua akan ada enam cabang yang keluar dari "A", "C" dan "D" (karena mereka dapat diikuti oleh salah satu dari enam huruf) tetapi hanya lima cabang yang keluar dari "B", "E" dan "F" (karena mereka tidak dapat diikuti sendiri). Pola percabangan ini secara efektif sama dengan jawaban saya, tetapi Anda mungkin lebih suka memikirkannya secara visual di pohon.
Dari sudut pandang matematis, solusinya adalah himpunan elemen produk kartesius antara daftar dan itu sendiri pernah menghapus diagonal. Anda dapat memecahkan masalah ini menggunakan algoritma ini:
Himpunan adalah kumpulan benda-benda berbeda yang terdefinisi dengan baik, karenanya objek tidak diulang.
from itertools import product
import numpy as np
letters = list("aabcccddef")
cartesianproduct = np.array(["".join(i) for i in product(letters,letters)]).reshape(10,10)
cartesianproduct
Out :
array([['aa', 'aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
['aa', 'aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
['ba', 'ba', 'bb', 'bc', 'bc', 'bc', 'bd', 'bd', 'be', 'bf'],
['ca', 'ca', 'cb', 'cc', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
['ca', 'ca', 'cb', 'cc', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
['ca', 'ca', 'cb', 'cc', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'dd', 'de', 'df'],
['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'dd', 'de', 'df'],
['ea', 'ea', 'eb', 'ec', 'ec', 'ec', 'ed', 'ed', 'ee', 'ef'],
['fa', 'fa', 'fb', 'fc', 'fc', 'fc', 'fd', 'fd', 'fe', 'ff']],
dtype='|S2')
Kami menghapus diagonal
diagremv = np.array([ np.delete(arr,index) for index,arr in enumerate(cartesianproduct)])
diagremv
array([['aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
['aa', 'ab', 'ac', 'ac', 'ac', 'ad', 'ad', 'ae', 'af'],
['ba', 'ba', 'bc', 'bc', 'bc', 'bd', 'bd', 'be', 'bf'],
['ca', 'ca', 'cb', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
['ca', 'ca', 'cb', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
['ca', 'ca', 'cb', 'cc', 'cc', 'cd', 'cd', 'ce', 'cf'],
['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'de', 'df'],
['da', 'da', 'db', 'dc', 'dc', 'dc', 'dd', 'de', 'df'],
['ea', 'ea', 'eb', 'ec', 'ec', 'ec', 'ed', 'ed', 'ef'],
['fa', 'fa', 'fb', 'fc', 'fc', 'fc', 'fd', 'fd', 'fe']],
dtype='|S2')
Kami menghitung panjang dari set elemen:
len(set(list(diagremv.flatten())))
Out: 33
Saya pikir alasan beberapa orang berpikir pertanyaannya tidak jelas adalah karena menggunakan istilah "kata-kata 2 huruf". Mengingat cara setiap orang mendekati solusi, mereka semua menafsirkan "kata 2 huruf" berarti sesuatu seperti "pasangan huruf". Sebagai pemain Scrabble yang rajin, saya langsung menjawab pertanyaan itu dengan maksud, "Berapa banyak kata 2 huruf yang sah dapat dibuat dari surat-surat ini?" Dan bahwa jawabannya adalah - 12! Paling tidak, menurut edisi terbaru dari Official Scrabble Players Dictionary (OSPD5). Kata-katanya adalah aa, ab, ad, ae, ba, be, da, de, ed, ef, fa, dan fe. (Harap diingat bahwa fakta bahwa Anda belum pernah mendengar banyak dari kata-kata ini tidak meniadakan keabsahannya!); O)
Hanya "2 akal" saya.
Namun cara lain untuk menghitung tanpa kekerasan:
Jika huruf pertama adalah a, c, atau d ada 6 pilihan tersisa untuk huruf kedua.
Tetapi jika huruf pertama adalah b, e, atau f hanya ada 5 pilihan tersisa untuk huruf kedua.
Ada masalah dengan cara Anda mengajukan pertanyaan. Tindakan apa yang sebenarnya diizinkan pada baris "aabcccddef" untuk mengambil kata 2 huruf? Bisakah kita mengganti yang terakhir atau hanya melewati yang tidak perlu? Saya telah menemukan dua kemungkinan jawaban tergantung pada kondisi ini:
1) Jika kita dapat mengganti huruf dengan cara apa pun jawabannya 33 seperti yang disebutkan sebelumnya. 30 pasang huruf berbeda (6 * 5) dan 3 pasang huruf serupa.
2) Jika kami tidak dapat berganti tempat surat dan hanya dapat menyeberang, kami akan mendapatkan jawaban yang jauh lebih sedikit. Mari kita hitung dari awal hingga akhir. Dimulai dengan "a" kita memiliki 6 huruf menjadi yang kedua, dimulai dengan "b" hanya 4. "c" juga memiliki 4, "d" - 3 dan "e" - 1. Itu 18 total.
jawaban saya untuk pertanyaan: Berapa banyak kata 2 huruf yang bisa Anda dapatkan dari aabcccddef
* // Intinya adalah pertanyaan berbunyi, "kata-kata" bukan kombinasi pasangan. Dengan menggunakan kata-kata, huruf itu harus muncul dua kali untuk menggunakan kata lebih dari sekali, misalnya ada dua huruf 'a' dan dua huruf 'd' karena itu, dimungkinkan untuk menulis 'iklan' sebagai kata dua kali.
[self-study]
tag & baca wiki -nya .