Các bộ phận tưởng tượng của Zeroes Riemann không tầm thường


9

Giới thiệu

Theo Giả thuyết Riemann , tất cả các số 0 của hàm Riemann zeta đều là số nguyên âm (được gọi là số không tầm thường ) hoặc số phức của dạng 1/2 ± i*tcho một tgiá trị thực (được gọi là số không không tầm thường ). Đối với thử thách này, chúng tôi sẽ chỉ xem xét các số 0 không tầm thường có phần tưởng tượng là tích cực và chúng tôi sẽ cho rằng Giả thuyết Riemann là đúng. Những con số không tầm thường này có thể được sắp xếp theo độ lớn của các phần tưởng tượng của chúng. Một số đầu tiên là khoảng 0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616i.

Các thách thức

Cho một số nguyên N, xuất phần ảo của Nsố 0 không tầm thường của hàm Riemann zeta, được làm tròn đến số nguyên gần nhất (làm tròn một nửa, do đó 13.5sẽ làm tròn thành 14).

Quy tắc

  • Đầu vào và đầu ra sẽ nằm trong phạm vi số nguyên có thể biểu thị cho ngôn ngữ của bạn.
  • Như đã nêu trước đây, với mục đích của thử thách này, Giả thuyết Riemann được cho là đúng.
  • Bạn có thể chọn liệu đầu vào là không có chỉ mục hoặc chỉ mục một.

Các trường hợp thử nghiệm

Các trường hợp kiểm tra sau đây là một chỉ mục.

1       14
2       21
3       25
4       30
5       33
6       38
7       41
8       43
9       48
10      50
50      143
100     237

Nhập cảnh OEIS

Đây là trình tự OEIS A002410 .

Câu trả lời:


5

Toán học, 23 byte

⌊Im@ZetaZero@#+.5⌋&

Thật không may, làm Roundtròn .5đến số chẵn gần nhất, vì vậy chúng tôi phải thực hiện làm tròn bằng cách thêm .5và lát sàn.


1

PARI / GP , 25 byte

Không có nhiều hỗ trợ trong GP cho lý thuyết số phân tích (chủ yếu là đại số), nhưng chỉ đủ cho thử thách này.

n->lfunzeros(1,15*n)[n]\/1

1

Sage, 34 byte

lambda n:round(lcalc.zeros(n)[-1])

Dùng thử trực tuyến

Giải pháp này là một hình thức đánh gôn của chương trình được tìm thấy trên trang OEIS.

lcalc.zeroslà một hàm (rất may được đánh vần theo cách ngắn hơn, thay vì zeroesthêm một byte) trả về các phần tưởng tượng của các số nkhông Riemann zeta không tầm thường đầu tiên . Lấy -1chỉ số st trả về nsố 0 (được lập chỉ mục 1) và làm roundtròn nó đến số nguyên gần nhất. Trong Python 3, roundsử dụng tính năng làm tròn của ngân hàng (nửa đến gần nhất), nhưng rất may Sage chạy trên Python 2, trong đó roundsử dụng làm tròn nửa lên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.