http://acm.nyist.me/OJ/contest.php?cid=1033
绝望的riba2534
素数打表
#include<bits/stdc++.h>
using namespace std;
int a[11000];//素数表
int b[11000];
int main()
{
memset(a,0,sizeof(a));
a[0]=a[1]=1;//0和1都不是素数
for(int i=2;i<=10000;i++)
{
if(a[i]==0)
{
for(int j=i*i;j<=10000;j+=i)
{
a[j]=1;
}
}
}
int n;
while(~scanf("%d",&n))
{
int k=0,o;
for(int i=0;i<n;i++)
{
scanf("%d",&o);
if(a[o])
{
b[k]=o;
k++;
}
}
sort(b,b+k);
for(int i=0;i<k;i++)
{
if(i==0)
printf("%d",b[i]);
else
printf(" %d",b[i]);
}
printf("\n");
}
}
CTX学长的01串
#include<bits/stdc++.h>
using namespace std;
const long long mod=1000000007;
char s[110000];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s",s);
int k=strlen(s);
long long a=0,b=0,c=0,d=1;
long long sum=0;
for(int i=0;i<k;i++)
{
if(s[i]=='0')
{
a+=b;
c+=d;
d+=b;
b=0;
}
else if(s[i]=='1')
{
a+=c;
b+=d;
d+=c;
c=0;
}
a%=mod;
b%=mod;
c%=mod;
d%=mod;
}
sum=(a+b+c+d-1)%mod;
printf("%lld\n",sum);
}
}
你说什么?我不会a+b?
可以用大数a+b 也可以用 unsigned long long
#include<bits/stdc++.h>
using na