Chức năng đơn giản nhất tạo danh sách số nguyên tố lên đến đối số là gì? Không khó để đưa ra một chức năng như vậy, ví dụ:Mathematica - tạo danh sách các số nguyên tố lên đến giới hạn
foo[n_] := Block[{A = {}, p = 2},
While[p < n, A = Append[A, p]; p = NextPrime[p]];
A]
Tuy nhiên, điều này có vẻ quá lộn xộn. Tôi muốn làm một cái gì đó như
foo[n_] := Table[Prime[i], {i,2,???}]
Ở đâu ??? là chỉ số của NextPrime[n,-1]
. Điều này có thể không?
Bạn có thể quan tâm để biết rằng có một [trang web StackExchange Mathematica cụ thể] (http://mathematica.stackexchange.com/). Khi lập trình trong Mathematica, bạn nên kiểm tra tất cả các công dụng của 'While', [' For'] (http://mathematica.stackexchange.com/q/2158/8), 'Do' và' Append'. Chúng là hangovers từ các ngôn ngữ khác và (như các câu trả lời dưới đây cho thấy), có [cách tiếp cận thường ngắn gọn hơn trong Mathematica] (http://mathematica.stackexchange.com/q/7924/8). – Verbeia