Diberikan input n
, program atau fungsi Anda harus menampilkan bilangan bulat positif terkecil k
sehingga n
dibulatkan ke kelipatan terdekat k
lebih besar dari n
.
Contoh.
Diberikan input 20
, nilai output harus 3
:
Kelipatan terdekat
1
adalah20
, yang tidak lebih besar dari20
.Kelipatan terdekat
2
adalah20
, yang tidak lebih besar dari20
.Beberapa terdekat dari
3
yaitu21
, yang adalah lebih besar dari20
, sehingga output.
Uji Kasus
#Input #Output
2 3
4 5
6 4
8 3
10 4
12 7
14 3
16 6
18 4
20 3
22 4
24 5
26 3
28 5
30 4
32 3
34 4
36 8
38 3
40 6
42 4
44 3
46 4
48 5
50 3
52 6
54 4
56 3
58 4
60 7
62 3
64 5
66 4
68 3
70 4
72 11
74 3
76 6
78 4
80 3
82 4
84 5
86 3
88 5
90 4
92 3
94 4
96 7
98 3
1000 6
Output yang diberikan input ganjil harus 2.
Aturan
n
adalah bilangan bulat positif kurang dari2^32
- pembulatan dilakukan sedemikian rupa sehingga jika dua kelipatan
k
sama jauhnya darin
, yang lebih besar dipilih ( "babak separuh" ). Dengan cara ini, setiap ganjiln
menghasilkan output2
. - Ini adalah kode-golf , sehingga kode terpendek di setiap bahasa menang.
Jawaban:
Python 3 ,
4838 byteEdit: -10 byte dengan menggunakan rekursi
Cobalah online!
sumber
Japt , 6 byte
Cobalah online!
Penjelasan:
sumber
r
Apakah builtin? o_oo æ@<rX
MATL , 13 byte
Cobalah online! Atau verifikasi semua input dari
1
hingga1000
.Penjelasan
Pertimbangkan input
6
.sumber
Python 2 , 35 byte
Cobalah online!
sumber
JavaScript (ES6),
2825 byteMenguji
Atau uji semua angka mulai 1-1000 (Beri waktu sebentar untuk menjalankan):
Tampilkan cuplikan kode
sumber
Proton , 33 byte
Cobalah online!
sumber
Pyth ,
1211 byteCoba di sini.
sumber
Proton , 33 byte
Cobalah online!
sumber
<!-- language: lang-python -->
?Jelly , 11 byte
Tautan monadik yang mengambil dan mengembalikan bilangan bulat positif.
Cobalah online! atau lihat test suite .
Bagaimana?
Catatan: Rangkaian
1
ini hanya untuk menangani kasus-kasus di manan
salah satu1
,2
atau4
ketika hasilnya perlun+1
(‘R÷@%1<.¬TṂ
juga akan bekerja).sumber
Haskell ,
3332 byteCobalah online!
Disimpan satu byte berkat w0lf
sumber
!!0
sebagai gantinyahead
Dyalog APL,
2322 byteCobalah online!
sumber
Pyth, 5 byte
Suite uji
Tidak ada pembulatan bawaan, hanya memeriksa untuk bilangan bulat positif pertama T, di mana gandakan input mod T lebih besar dari atau sama dengan T.
Penjelasan:
sumber
Kode Mesin x86, 17 byte
Kode ini mengimplementasikan solusi dasar yang berulang dalam bentuk fungsi yang dapat digunakan kembali:
Fungsi ini mengikuti konvensi pemanggilan cepat , sehingga parameter tunggal (
n
) dilewatkan dalamECX
register. Nilai pengembalian (k
) adalah, seperti biasa, dikembalikan dalamEAX
register.Cobalah online!
sumber
Java 8, 42 byte
Lambda dari
Integer
keInteger
.Cobalah secara Online
Ucapan Terima Kasih
sumber
f=1
dan menggunakan byte++f
pertamaf
, seperti ini:n->{for(int f=1;;)if(n%++f*2>=f)return f;}
Perl 5 , 24 + 1 (-p) = 25 byte
Cobalah online!
Mencoba setiap bilangan bulat
$k
mulai dari 1 hingga menemukan sisa yang setidaknya setengah$k
.sumber
Keempat (gforth) , 45 byte
Cobalah online!
Penjelasan Kode
sumber
05AB1E , 9 byte
Cobalah online!
Penjelasan
sumber
Rockstar , 681 byte
Kamu bisa mencoba rockstar online , tetapi Anda harus menyalin dan menempelkan kode. Ini akan meminta Anda untuk memasukkan nomor.
Saya tidak menggunakan hitungan byte terendah, karena Rockstar jelas tidak dibuat untuk bermain golf, jadi saya mencoba mencari lirik Rock 'n' Roll.
Penjelasan:
Ini didasarkan pada solusi yang sama dengan yang lain (python, java):
Pertama saya perlu mendefinisikan fungsi modulus dan langit-langit, yang demi puisi disebut Thought and Rock.
Di bawah ini adalah versi yang kurang puitis dengan nama variabel yang berbeda, dan penjelasan di mana sintaksanya tidak jelas. Tanda kurung menunjukkan komentar.
sumber
Jelly , 18 byte
Cobalah online!
Program lengkap.
sumber
Full program.
Kapan bukan?Swift 3 , 51 byte
Untuk beberapa alasan yang sangat aneh,
[0]
tidak berfungsi secara online. Berikut ini adalah versi yang kompatibel dengan kompiler online (yang menggunakan.first!
sebagai gantinya):Test Suite (kompatibel online).
sumber
C # (Mono) , 39 byte
Cobalah online!
sumber
Stax , 7 byte
Jalankan dan debug itu
sumber