acm練習 求最近的素數

2021-08-06 03:22:00 字數 675 閱讀 6726

時間限制:3000 ms | 記憶體限制:65535 kb

難度:2

現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。

如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0

第一行給出測試資料組數n(0

每行輸出兩個整數 a b.

其中a表示離相應測試資料最近的素數,b表示其間的距離。

3 6

8 10

5 1

7 1

11 1

#include

#define abs(a,b) (a>b?(a-b):(b-a))

#define m 1000100

int a[m],b[m];

int main()

while(!b[++i]&&ifor(i=0,j=0;iif(b[i]==1) a[j++]=i;

//開始接收資料,逐個判斷

scanf("%ld",&n);

for(i=0;i"%ld",&m);

for(j=0,k=m;abs(a[j],m)abs(a[j],m);

}printf("%d

%ld\n",a[j-1],k);

}}

王道機試練習 求素數

題目描述 給定乙個數 n,要求判斷其是否為素數 0,1,負數都是非素數 輸入 測試資料有多組,每組輸入乙個數 n。輸出 對於每組輸入 若是素數則輸出 yes,否則輸入 no。樣例輸入 13樣例輸出 yes怎樣確定乙個數是素數?我們可以用所有大於 1 小於其本身的整數去試著 整除該數,若在該區間內存在...

python小練習 利用filter求素數

計算素數的乙個方法是埃氏篩法,它的演算法理解起來非常簡單 首先,列出從2開始的所有自然數,構造乙個序列 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,取序列的第乙個數2,它一定是素數,然後用2把序列的2的倍數篩掉 3,4,5,6,7,8,9,10,...

求素數 多執行緒練習題

編寫乙個有兩個執行緒的程式,第乙個執行緒用來計算2 100000之間的素數的個數,第二個執行緒用來計算100000 200000之間的素數的個數,最後輸出結果。實現 package com.thread public class sushudemo1 extends thread override ...