水题: 2012—2030、2032、2040、2042、2054、2055
杭电2012 Problem - 2012 (hdu.edu.cn)
正好用上素数筛:
- #include <iostream>
- using namespace std;
- bool isnp[100001]; // is not prime: 不是素数
- void init(int n)
- {
- for (int i = 2; i * i <= n; i++)
- if (!isnp[i])
- for (int j = i * i; j <= n; j += i)
- isnp[j] = true;
- }
- int main ()
- {
- init(50*50+50+41+1);
- int x,y,i;
- while(cin>>x>>y &&(x!=0 ||y!=0))
- {
- for(i=x;i<=y;i++)
- {
- if(isnp[i*i+i+41])break;
- }
- if(i>y)cout<<"OK"<<endl;
- else cout<<"Sorry"<<endl;
- }
- return 0;
- }
杭电2013 Problem - 2013 (hdu.edu.cn)
这个简单,水~~~~~
- #include <iostream>
- using namespace std;
-
- int main ()
- {
- int a[31]={0,1,4},n;
- for(int i=3;i<31;i++)
- a[i]=a[i-1]*2+2;
- while(cin>>n)
- cout<<a[n]<<endl;
-
- return 0;
- }
杭电2016 Problem - 2016 (hdu.edu.cn)
练习一下new 和 delete 有坑:最后一个不能输出空格
- #include <iostream>
- using namespace std;
-
- int main ()
- {
- int n,*p,i,j,min,t;
- while(cin>>n && n!=0)
- {
- p=new int[n];
- j=0;
- for(i=0;i<n;i++)
- {
- cin>>p[i];
- if(p[i]<p[j])j=i;
- }
- t=p[0];
- p[0]=p[j];
- p[j]=t;
- for(i=0;i<n-1;i++)
- {
- cout<<p[i]<<" ";
- }
- cout<<p[i]<<endl;
- delete []p;
- }
- return 0;
- }
其他略