Catatan: tantangan ini telah diposting di kotak pasir .
pengantar
Tantangan ini terinspirasi oleh Putnam B1 2009 , masalah dalam kompetisi matematika sarjana. Masalahnya adalah sebagai berikut:
Tunjukkan bahwa setiap bilangan rasional positif dapat ditulis sebagai hasil bagi produk faktorial (tidak harus berbeda) bilangan prima. Sebagai contoh,
Tantangan
Tantangan Anda adalah mengambil sepasang bilangan bulat positif yang relatif prima, mewakili pembilang dan penyebut bilangan rasional positif (atau hanya bilangan rasional itu sendiri) sebagai input, dan menampilkan dua daftar (atau array, dll.) Dari bilangan prima sehingga bilangan rasional yang dimasukkan sama dengan rasio produk dari faktorial bilangan prima dalam daftar pertama dengan produk dari faktorial bilangan prima dalam daftar kedua.
Catatan
- Mungkin tidak ada bilangan prima yang terkandung di daftar pertama dan di daftar kedua; Namun, prime dapat muncul sebanyak yang diinginkan dalam daftar.
- Input dapat diasumsikan masing-masing menjadi (tidak ketat) antara 1 dan 65535; namun, tidak dapat diasumsikan bahwa faktorial dari angka-angka yang akan Anda butuhkan akan berada dalam kisaran ini.
Contoh Input dan Output
Berikut adalah contoh input dan output hukum.
input=>output
10,9 => [2,5],[3,3,3]
2,1 => [2],[]
3,1 => [3],[2]
1,5 => [2,3,2],[5] (elements of a list may be in any order)
3,2 => [3],[2,2]
6,1 => [3],[]
Input (2,2), (0,3), (3,0), (3,6) dan (1,65536) adalah input ilegal (yaitu program Anda tidak perlu berperilaku dengan cara tertentu terhadap mereka ). Berikut adalah beberapa contoh hasil ilegal:
1,2 => [2],[2,2] (2 is in both returned lists)
5,2 => [5],[2,4] (4 is not prime)
2,1 => [2],[1] (1 is not prime either)
3,2 => [3],[2] (3!/2! = 3, not 3/2)
Mencetak gol
Ini adalah kode-golf , sehingga skor terendah dalam byte menang!
10/9
daripada sepasang angka 10
dan 9
?
10/9
=[2*5]/[3*3]
=[(2!/1!) * (5!/4!)] / [(3!/2!) * (3!/2!)]
=[2! * 5! * 2! * 2!] / [3! * 3! * 1! * 4!]
=(2! * 2! * 2! *5!) / (3! * 3! * 4!)
.