時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:2 描述
現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。
如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0
輸入第一行給出測試資料組數n(0輸出
每行輸出兩個整數 a b.
其中a表示離相應測試資料最近的素數,b表示其間的距離。
樣例輸入
36810
樣例輸出
5 17 111 1
先利用素數篩法打表,然後進行判斷。注意邊界條件
#include #define max 1000010
int prime[max];
int table[max];
long long primetable()
}return n;
}void findmindist( long long n, long long size )
else
while( table[down] != 0 && down > 0 )
if( down == 0 )
else if( ( up - n ) < ( n - down ) )
else
}printf( "%lld %lld\n", ans, dist );
}int main()
return 0;
}
NYOJ 24 素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸出...
NYOJ24 素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸...
nyoj 24 素數距離問題
時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 現在給出你一些數,要求你寫出乙個程式,輸出這些整數相鄰最近的素數,並輸出其相距長度。如果左右有等距離長度素數,則輸出左側的值及相應距離。如果輸入的整數本身就是素數,則輸出該素數本身,距離輸出0 輸入第一行給出測試資料組數n 0輸出...