Dugaan Goldbach menyatakan bahwa:
setiap bilangan genap yang lebih besar dari 2 adalah jumlah dari dua bilangan prima.
Kami akan menganggap partisi Goldbach dari angka n sebagai sepasang dua bilangan prima yang ditambahkan ke n . Kami prihatin dengan angka peningkatan partisi Goldbach . Kami mengukur ukuran partisi Goldbach suatu bilangan dengan ukuran bilangan prima terkecil di semua partisi bilangan itu. Sejumlah partisi meningkat jika ukuran ini lebih besar dari ukuran semua angka genap yang lebih kecil.
Tugas
Diberi bilangan bulat genap n> 2 , tentukan apakah n adalah peningkatan partisi Goldbach, dan hasilkan dua nilai unik, satu jika itu dan satu jika tidak.
Ini adalah kode-golf , jadi Anda harus berusaha meminimalkan jumlah byte dalam kode sumber Anda.
sumber
Jawaban:
Jelly , 12 byte
Cobalah online!
Bagaimana itu bekerja
sumber
PHP , 154 byte
Cobalah online!
Diperluas
Cobalah online! Periksa semua angka hingga 1000
sumber
JavaScript (ES6), 135 byte
Menggunakan logika yang mirip dengan jawaban PHP Jörg .
Demo
Tampilkan cuplikan kode
sumber
Python 3:
156151142138136128 byte(terima kasih kepada OP)
(terima kasih kepada @Rod) (lagi) (dan lagi)
sumber
max
dengan elemen pengembalian kunci dengan nilai maksimal setelah menerapkan kunci, saya harus menambahkan aplikasi fungsi tetapi tetap lebih pendek.range
karenan
sudah dibatasi di dalamlambda
.max(map(m,r[::2]))
f
dan karenanya dapat menyimpan 2 byte dengan menghapusf=
.Python 3:
204196 byteBytes disimpan berkat: Olm Man
Cobalah online!
sumber
min
danall
dapat mengambil generator sebagai argumen, ini berartimin([...])
dapat dipersingkatmin(...)
dan sama dengan semua. Anda juga dapat menghilangkan beberapa ruang, terutama ruang dalamimport *
dan ruang apa pun setelah kawat gigi, saya melihat Anda memiliki satu setelahrange(g)
dan satu sebelumnya[i for i in ...
, tidak diperlukan.all(n%i for i in range(2,g))
, tapi Anda harus perubahanrange(g)
untukrange(1,g)
karena ini memberikan positif palsu pada 1