時間限制: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 ...