题目:http://poj.org/problem?id=3006
筛选法求素数
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std; int prime[];//代表是否是素数
int main()
{
int s,max=;
int x,y,z,i; s=;
prime[]=prime[]=;
prime[]=; for(int i=; i<max; i++)
prime[i]=i%==?:;
int t=(int)sqrt(max*1.0); for(int i=; i<=t; i++)
if(prime[i])
for(int j=i*; j<max; j+=i)
prime[j]=; while(cin>>x>>y>>z&&(x!=||y!=||z!=))
{
for(i=x; z; i+=y)
{
if(prime[i])
z--;
}
cout<<i-y<<endl;
}
return ;
}
http://poj.org/problem?id=2105
函数参考:http://www.cnblogs.com/sunyubo/archive/2009/07/21/2282256.html
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;
char str[]; int main()
{
int t,i,j,x;
cin>>t;
for(j=; j<=t; j++)
{
for(i=; i<=; i++)
{
scanf("%8s",str);
x=strtol(str,,);//strtol函数将字符串转换为n进制数,这里是2
if(i!=)
printf("%d.",x);
else
printf("%d\n",x);
}
}
return ;
}
http://poj.org/problem?id=1013
参考:http://www.cppblog.com/guyuecanhui/articles/88302.html
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std; int a[],b[];//a为当前状态,b为上一个状态
int main()
{
int t,i,j,f;
char s1[],s2[],s3[];
scanf("%d",&t);
getchar();
while(t--)
{
memset(a,-,sizeof(a));
for(i=; i<=; i++)
{
scanf("%s%s%s",s1,s2,s3);
getchar();
if(strcmp(s3,"even")==)
{
for(j=; j<strlen(s1); j++)
{
a[s1[j]]=a[s2[j]]=;
}
}
if(strcmp(s3,"up")==)
{
memcpy(b,a,sizeof(a));
memset(a,,sizeof(a));//与下面联系,对其他的添加信任
for(j=; j<strlen(s1); j++)
{
a[s1[j]]=;a[s2[j]]=;
}
for(j=; j<=; j++)
{
if(a[j]!=b[j] && b[j]>=)//如果上一个状态有怀疑,而且两次怀疑不一样,添加信任
a[j]=;
}
} if(strcmp(s3,"down")==)
{
memcpy(b,a,sizeof(a));
memset(a,,sizeof(a));
for(j=; j<strlen(s1); j++)
{
a[s1[j]]=; a[s2[j]]=;
}
for(j=; j<=; j++)
{
if(a[j]!=b[j] && b[j]>=)
a[j]=;
}
}
}
for(i=; i<=; i++)
{
if(a[i]>)
{
f=a[i];
break;
}
}
if(f==)
printf("%c is the counterfeit coin and it is light.\n",i);
else if(f==)
printf("%c is the counterfeit coin and it is heavy.\n",i);
}
return ;
}