判斷 素數 質數

來源:互聯網
上載者:User
Public Function IsPrime(ByVal n As Integer) As Boolean    If n < 4 Then Return True    If n Mod 2 = 0 Then Return False    Dim k As Integer = Math.Floor(Math.Sqrt(n))    For i = 3 To k Step 2        If n Mod i = 0 Then Return False    Next    Return TrueEnd Function

快速產生n以內的素數

Public Function GetPrime(ByVal n As Long) As Long()    Dim arr(n + 1) As Boolean    For i As Long = 2 To n / 2        For j As Long = 2 To i            Dim r As Long = i * j            If r > n Then Exit For            If Not arr(r) Then arr(r) = True        Next    Next    Dim list As New List(Of Long)    For i As Long = 2 To n        If Not arr(i) Then list.Add(i)    Next    Return list.ToArrayEnd Function

http://acm.buaa.edu.cn/problem/187/

#include <iostream>#include <cmath>using namespace std;unsigned short p[1000];int main(void){bool is_prime;int c=2,k;p[0]=2;p[1]=3;for(int i=5;i<7920;i+=2){is_prime=true;k=sqrt((double)i)+1;for(int j=1;j<c-1;j++){if(p[j]>=k){break;}if(i%p[j]==0){is_prime=false;break;}}if(is_prime){p[c]=i;c++;}}int n;while(cin>>n){cout<<p[n-1]<<endl;}return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.