UVa 406 - Prime Cuts
2014-06-23 02:36
375 查看
题目:给你2个数n,C,确定,不超过n的素数的中间的一个范围。 定义[1,n]上有k个素数。
则k为奇数,输出中间的2*k-1个;k为偶数,输出中间的2*k个。
分析:数论。直接打表计算所有的0-1000的素数,然后求中线向两边找端点即可。
说明:在本题中1是素数。
则k为奇数,输出中间的2*k-1个;k为偶数,输出中间的2*k个。
分析:数论。直接打表计算所有的0-1000的素数,然后求中线向两边找端点即可。
说明:在本题中1是素数。
#include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> using namespace std; int used[1001]; int prim[1001]; int main() { memset( used, 0, sizeof(used) ); int count = 0; prim[count ++] = 1; for ( int i = 2 ; i <= 1000 ; ++ i ) if ( !used[i] ) { prim[count ++] = i; for ( int j = i<<1 ; j <= 1000 ; j += i ) used[j] = 1; } prim[count] = 1001; int n,m; while ( ~scanf("%d%d",&n,&m) ) { printf("%d %d:",n,m); int r = 0; while ( prim[r+1] <= n ) r ++; int mid = r/2; int l = mid; r = mid+(r%2); while ( -- m ) { l --; r ++; if ( l < 0 ) l ++; if ( prim[r] > n ) r --; } while ( l <= r ) printf(" %d",prim[l ++]); printf("\n\n"); } return 0; }
相关文章推荐
- Uva 406 - Prime Cuts
- UVa OJ 406-Prime Cuts
- uva 10780 Again Prime? No Time.
- UVA 10539 Almost Prime Numbers( 素数因子)
- UVA - 1415 Gauss Prime
- UVA 11610 Reverse Prime (数论+树状数组+二分,难题)
- UVA-524 Prime Ring Problem 素数环
- uva 4138【最小生成树prime算法】
- Sum of Consecutive Prime Numbers - UVa 1210 水题
- UVa 10924-Prime Words
- UVA 11105 - Semi-prime H-numbers(数论)
- uva 524 prime ring problem——yhx
- POJ 1595 Prime Cuts
- UVa10539 Almost Prime Numbers
- UVALive 4225 / HDU 2964 Prime Bases 贪心
- UVA - 10780 Again Prime? No Time.
- uva 10780 - Again Prime? No Time.(数论)
- UVa 1210 - Sum of Consecutive Prime Numbers(滑动窗口)
- 【UVa】524 - Prime Ring Problem
- UVa 10780 - Again Prime? No Time.