sicily 1752 选择
2011-04-30 16:10
399 查看
最近一直都在做水题找自信中,嘿嘿....
// source code of submission 743067, Zhongshan University Online Judge System #include <iostream> #include <cstring> #include <algorithm> using namespace std; int prime(int a[],int n) //筛法素数产生器 { int i,j,k,x,num,*b; n++; n/=2; b=(int *)malloc(sizeof(int)*(n+1)*2); a[0]=2;a[1]=3;num=2; for(i=1;i<=2*n;i++) b[i]=0; for(i=3;i<=n;i+=3) for(j=0;j<2;j++) { x=2*(i+j)-1; while(b[x]==0) { a[num++]=x; for(k=x;k<=2*n;k+=x) b[k]=1; } } return num; } int binary_search(int a[],int n,int value) //二分查找函数 { int low = 0,high = n-1,mid; while(low <= high) //注意这里不要写成low < high { mid = low +(high-low)/2; if(a[mid] == value) return mid; if(a[mid] < value) low = mid+1; else high = mid-1; } return -1; } int main() { int p[100000]; int n,i,w,res; n = prime(p,1000000); while(cin>>w,w!=-1) { res = binary_search(p,n,w); cout<<res+1<<endl; //数组从0开始计数,故输出应为res+1 } return 0; }
相关文章推荐
- sicily 1752.选择
- 1752. 选择
- Sicily1222——单词选择
- sicily 1752
- 1752. 选择
- Sicily 1222. 单词选择 (Trie & 二分)
- sicily 1752
- Sicily 1222 单词选择 (SOJ 1222) 【堆 优先队列】
- sicily 选择排序比较次数 期末测试
- Sicily 1222. 单词选择
- ASP.NET四种页面导航方式的比较与选择
- XFolderDialog,新式目录选择框
- SQL Server复制功能 巧妙选择避开Bug
- 选择条件语句if_else结构
- 选择了会不会后悔?
- 嵌入式平台选择:树莓派 or BeagleBone Black(BBB)
- 【Bootstrap】选择折叠项collapse
- 为什么做Web开发要选择PHP
- 经典算法学习——直接选择排序
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等