第一章完结
Greedy Gift Givers
/*
ID: tominute
PROG: gift1
LANG: C++
*/
#include
#include
#include
using namespace std;
int main() {
ofstream fout ("gift1.out");
FILE *fp;
fp=fopen("gift1.in","r");
int n,a,b;
fscanf(fp,"%d",&n);
char name[10][20];
char buf[10][20];
char kk[20];
int gift[10][2];
int money[10]={0};
for(int i=0;i
#include
#include
using namespace std;
int main() {
ofstream fout ("gift1.out");
FILE *fp;
fp=fopen("gift1.in","r");
int n,a,b;
fscanf(fp,"%d",&n);
char name[10][20];
char buf[10][20];
char kk[20];
int gift[10][2];
int money[10]={0};
for(int i=0;i
Friday the Thirteenth
/*
ID: tominute
PROG: friday
LANG: C++
*/
#include
#include
#include
using namespace std;
int main() {
ofstream fout ("friday.out");
FILE *fp;
fp=fopen("friday.in","r");
int n,j,k,i,day=3;
fscanf(fp,"%d",&n);
fclose(fp);
int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int week[7]={0};
for(i=0;i
#include
#include
using namespace std;
int main() {
ofstream fout ("friday.out");
FILE *fp;
fp=fopen("friday.in","r");
int n,j,k,i,day=3;
fscanf(fp,"%d",&n);
fclose(fp);
int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int week[7]={0};
for(i=0;i
Broken Necklace
/*
ID: tominute
PROG: beads
LANG: C++
*/
#include
#include
#include
using namespace std;
int main() {
ofstream fout ("beads.out");
FILE *fp;
fp=fopen("beads.in","r");
int n,k,i;
int r_max=0,l_max=0,rmax=0,lmax=0,sum=0;
char beads[360],bead[360];
fscanf(fp,"%d",&n);
fscanf(fp,"%s",beads);
fclose(fp);
for(i=0;i=rmax)rmax=r_max;
r_max=0;
strcpy(bead,beads);
k=i-1;
if(k==-1)k=n-1;
switch(bead[i]){
case 'b':
if(bead[k]=='w')bead[k]='r';
while(bead[k]=='r'){
k--;l_max++;
if(k==-1)k=n-1;
if(bead[k]=='w')bead[k]='r';
}break;
case 'r':
if(bead[k]=='w')bead[k]='b';
while(bead[k]=='b'){
k--;l_max++;
if(k==-1)k=n-1;
if(bead[k]=='w')bead[k]='b';
}break;
default :break;
}
lmax=l_max;
l_max=0;
if((lmax+rmax)>=sum)sum=lmax+rmax;
if(sum>n)sum=n;
lmax=0;rmax=0;
}
if(sum==0)sum=n;
fout<
#include
#include
using namespace std;
int main() {
ofstream fout ("beads.out");
FILE *fp;
fp=fopen("beads.in","r");
int n,k,i;
int r_max=0,l_max=0,rmax=0,lmax=0,sum=0;
char beads[360],bead[360];
fscanf(fp,"%d",&n);
fscanf(fp,"%s",beads);
fclose(fp);
for(i=0;i=rmax)rmax=r_max;
r_max=0;
strcpy(bead,beads);
k=i-1;
if(k==-1)k=n-1;
switch(bead[i]){
case 'b':
if(bead[k]=='w')bead[k]='r';
while(bead[k]=='r'){
k--;l_max++;
if(k==-1)k=n-1;
if(bead[k]=='w')bead[k]='r';
}break;
case 'r':
if(bead[k]=='w')bead[k]='b';
while(bead[k]=='b'){
k--;l_max++;
if(k==-1)k=n-1;
if(bead[k]=='w')bead[k]='b';
}break;
default :break;
}
lmax=l_max;
l_max=0;
if((lmax+rmax)>=sum)sum=lmax+rmax;
if(sum>n)sum=n;
lmax=0;rmax=0;
}
if(sum==0)sum=n;
fout<
Milking Cows
/* ID: tominute PROG: milk2 LANG: C++ */ #include #include #include using namespace std; int time1[1000000]={0}; int main() { ofstream fout ("milk2.out"); FILE *fp; fp=fopen("milk2.in","r"); int n,k,i,milk=0,nomilk=1,max=0,min=10000; int max_milk=0,max_nomilk=0; fscanf(fp,"%d",&n); int start[5000],end[5000]; for(i=0;imax)max=end[i]; if(start[i]
Transformations
/* ID: tominute PROG: transform LANG: C++ */ #include #include #include #include using namespace std; void ro90(char raw[50][50],int n){ char temp[50][50]; for(int i=0;i
Name That Number
/* ID: tominute PROG: namenum LANG: C++ */ #include #include #include using namespace std; int main() { FILE *fp,*dict,*fout; int i,n,k=0,state=0; char t[20],d[20]; int num[20]; int para[20]={0}; char test[20]={'\0'}; char phone[8][4]={"ABC","DEF","GHI","JKL","MNO","PRS","TUV","XYZ"}; fp=fopen("namenum.in","r"); fout=fopen("namenum.out","w"); fscanf(fp,"%s",t); fclose(fp); n=strlen(t) ; for(i=0;i=0){ for(i=0;i=0;k--){ para[k]++; if(para[k]==3){ para[k]=0; } else break; } } k=0; } if(state==0) fprintf(fout,"NONE\n"); fclose(fout); //cout<
Palindromic Squares
/*
ID: tominute
PROG: palsquare
LANG: C++
*/
#include
#include
#include
using namespace std;
int coun=0;
void conv(int base,int num,char out[20]){
char outnum[20];
int yu;
if(num==0){
coun=1;
out[0]=0;
}
else{
for(int i=0;num!=0;i++){
yu=num%base;
num=num/base;
if(yu<10)
outnum[i]=yu+48;
else
outnum[i]=yu+55;
coun++;
}
for(int i=0;i
#include
#include
using namespace std;
int coun=0;
void conv(int base,int num,char out[20]){
char outnum[20];
int yu;
if(num==0){
coun=1;
out[0]=0;
}
else{
for(int i=0;num!=0;i++){
yu=num%base;
num=num/base;
if(yu<10)
outnum[i]=yu+48;
else
outnum[i]=yu+55;
coun++;
}
for(int i=0;i
Dual Palindromes
/*
ID: tominute
PROG: dualpal
LANG: C++
*/
#include
#include
#include
using namespace std;
int coun=0;
void conv(int base,int num,char out[33]){
char outnum[33];
int yu;
if(num==0){
coun=1;
out[0]=0;
}
else{
for(int i=0;num!=0;i++){
yu=num%base;
num=num/base;
if(yu<10)
outnum[i]=yu+48;
else
outnum[i]=yu+55;
coun++;
}
for(int i=0;i=2){
geshu++;
fprintf(fout,"%d\n",i);
}
k=0;
}
fclose(fout);
getchar();
return 0;
}
#include
#include
using namespace std;
int coun=0;
void conv(int base,int num,char out[33]){
char outnum[33];
int yu;
if(num==0){
coun=1;
out[0]=0;
}
else{
for(int i=0;num!=0;i++){
yu=num%base;
num=num/base;
if(yu<10)
outnum[i]=yu+48;
else
outnum[i]=yu+55;
coun++;
}
for(int i=0;i=2){
geshu++;
fprintf(fout,"%d\n",i);
}
k=0;
}
fclose(fout);
getchar();
return 0;
}
Mixing Milk
/*
ID: tominute
PROG: milk
LANG: C++
*/
#include
#include
#include
using namespace std;
long int farmer[5000][2];
int main() {
FILE *fp,*fout;
int i=0,j,m;
long int n,temp,count=0,total=0;
fp=fopen("milk.in","r");
fout=fopen("milk.out","w");
fscanf(fp,"%d %d",&n,&m);
for(i=0;in){
farmer[i][1]=n-count+farmer[i][1];
break;
}
}
for(j=0;j<=i;j++){
total=total+farmer[j][0]*farmer[j][1];
}
//cout<
#include
#include
using namespace std;
long int farmer[5000][2];
int main() {
FILE *fp,*fout;
int i=0,j,m;
long int n,temp,count=0,total=0;
fp=fopen("milk.in","r");
fout=fopen("milk.out","w");
fscanf(fp,"%d %d",&n,&m);
for(i=0;in){
farmer[i][1]=n-count+farmer[i][1];
break;
}
}
for(j=0;j<=i;j++){
total=total+farmer[j][0]*farmer[j][1];
}
//cout<
Barn Repair
/*
ID: tominute
PROG: barn1
LANG: C++
*/
#include
#include
#include
using namespace std;
void test(int *flag,int p,int q,int *START,int *END){
int start,end,len=0;
for(int j=p;j<=q;j++){
if(flag[j-1]==1){
start=j;
j++;
while((flag[j-1]==0)&&(j<=q)){
j++;
}
end=j;
j=start;
if(len<=end-start-1){
*END=end;
*START=start;
len=end-start-1;
}
}
}
}
int main() {
FILE *fp,*fout;
int i=0,j,m,s,c,total=0,END,START,count=0,temp;
int stall[200],mem[50][2];
int flag1[200]={0};
int outflag[200]={1};
fp=fopen("barn1.in","r");
fout=fopen("barn1.out","w");
fscanf(fp,"%d %d %d",&m,&s,&c);
for(i=0;istall[j]){
temp=stall[i];
stall[i]=stall[j];
stall[j]=temp;
}
}
}
for(i=0;i
#include
#include
using namespace std;
void test(int *flag,int p,int q,int *START,int *END){
int start,end,len=0;
for(int j=p;j<=q;j++){
if(flag[j-1]==1){
start=j;
j++;
while((flag[j-1]==0)&&(j<=q)){
j++;
}
end=j;
j=start;
if(len<=end-start-1){
*END=end;
*START=start;
len=end-start-1;
}
}
}
}
int main() {
FILE *fp,*fout;
int i=0,j,m,s,c,total=0,END,START,count=0,temp;
int stall[200],mem[50][2];
int flag1[200]={0};
int outflag[200]={1};
fp=fopen("barn1.in","r");
fout=fopen("barn1.out","w");
fscanf(fp,"%d %d %d",&m,&s,&c);
for(i=0;istall[j]){
temp=stall[i];
stall[i]=stall[j];
stall[j]=temp;
}
}
}
for(i=0;i
Prime Cryptarithm
/*
ID: tominute
PROG: crypt1
LANG: C++
*/
#include
#include
#include
using namespace std;
int prime[10];
int test(int *test,int digit,int num){//1 false;0 ture
int flag=0;
for(int k=0;k=0){
for(j=0;j<3;j++){
mul[j]=prime[index[j]];
}
if(mul[2]!=0){
for(j=0;j=1)continue;//test the leading digit
flag=test(temp1,n,3);
if(flag>=1)continue;//test the first partial mul
//cout<=1||(prime[k]==0)))continue;//test the leading digit
flag=test(temp2,n,3);
if(flag>=1)continue;//test the second partial mul
out[0]=temp1[0];
out[1]=(temp1[1]+temp2[0])%10;
flag=(temp1[1]+temp2[0])/10;
out[2]=(temp1[2]+temp2[1]+flag)%10;
flag=(temp1[2]+temp2[1]+flag)/10;
out[3]=(temp2[2]+flag)%10;
flag=(temp2[2]+flag)/10;
if(flag>=1)continue;//test the leading digit
flag=test(out,n,4);
if(flag>=1)continue;//test final mul
count++;
}
}
}
for(i=2;i>=0;i--){
index[i]++;
if(index[i]==n){
index[i]=0;
}
else break;
}
}
fprintf(fout,"%d\n",count);
//cout<
#include
#include
using namespace std;
int prime[10];
int test(int *test,int digit,int num){//1 false;0 ture
int flag=0;
for(int k=0;k=0){
for(j=0;j<3;j++){
mul[j]=prime[index[j]];
}
if(mul[2]!=0){
for(j=0;j=1)continue;//test the leading digit
flag=test(temp1,n,3);
if(flag>=1)continue;//test the first partial mul
//cout<=1||(prime[k]==0)))continue;//test the leading digit
flag=test(temp2,n,3);
if(flag>=1)continue;//test the second partial mul
out[0]=temp1[0];
out[1]=(temp1[1]+temp2[0])%10;
flag=(temp1[1]+temp2[0])/10;
out[2]=(temp1[2]+temp2[1]+flag)%10;
flag=(temp1[2]+temp2[1]+flag)/10;
out[3]=(temp2[2]+flag)%10;
flag=(temp2[2]+flag)/10;
if(flag>=1)continue;//test the leading digit
flag=test(out,n,4);
if(flag>=1)continue;//test final mul
count++;
}
}
}
for(i=2;i>=0;i--){
index[i]++;
if(index[i]==n){
index[i]=0;
}
else break;
}
}
fprintf(fout,"%d\n",count);
//cout<
Combination Lock
/*
ID: tominute
PROG: combo
LANG: C++
*/
#include
#include
#include
using namespace std;
int main() {
FILE *fp,*fout;
int i=0,n,count=0,secret1[3],secret2[3],j,flag,up;
int sec1[3][5],sec2[3][5],out[300][3]={0},index[3]={0},temp[3];
fp=fopen("combo.in","r");
fout=fopen("combo.out","w");
fscanf(fp,"%d",&n);
fscanf(fp,"%d %d %d",&secret1 [0],&secret1 [1],&secret1 [2]);
fscanf(fp,"%d %d %d",&secret2 [0],&secret2 [1],&secret2 [2]);
fclose(fp);
if(n<=5)up=n;
else up=5;
for(i=0;i<3;i++){
for(j=0;j=0){
for(j=0;j<3;j++){
out[count][j]=sec1[j][index[j]];
}
count++;
for(i=2;i>=0;i--){
++index[i];
if(index[i]==up)
index[i]=0;
else break;
}
}
i=0;
while(i>=0){
for(j=0;j<3;j++){
temp[j]=sec2[j][index[j]];
}
for(j=0;j=0;i--){
++index[i];
if(index[i]==up)
index[i]=0;
else break;
}
}
fprintf(fout,"%d\n",count);
fclose(fout);
return 0;
}
#include
#include
using namespace std;
int main() {
FILE *fp,*fout;
int i=0,n,count=0,secret1[3],secret2[3],j,flag,up;
int sec1[3][5],sec2[3][5],out[300][3]={0},index[3]={0},temp[3];
fp=fopen("combo.in","r");
fout=fopen("combo.out","w");
fscanf(fp,"%d",&n);
fscanf(fp,"%d %d %d",&secret1 [0],&secret1 [1],&secret1 [2]);
fscanf(fp,"%d %d %d",&secret2 [0],&secret2 [1],&secret2 [2]);
fclose(fp);
if(n<=5)up=n;
else up=5;
for(i=0;i<3;i++){
for(j=0;j=0){
for(j=0;j<3;j++){
out[count][j]=sec1[j][index[j]];
}
count++;
for(i=2;i>=0;i--){
++index[i];
if(index[i]==up)
index[i]=0;
else break;
}
}
i=0;
while(i>=0){
for(j=0;j<3;j++){
temp[j]=sec2[j][index[j]];
}
for(j=0;j=0;i--){
++index[i];
if(index[i]==up)
index[i]=0;
else break;
}
}
fprintf(fout,"%d\n",count);
fclose(fout);
return 0;
}
Wormholes
/* ID: tominute PROG: wormhole LANG: C++ */ #include #include #include using namespace std; long all[11000][24]={0},pos[12][2]={0}; int total,flag=0,flag2=0,coun=0; int getnum(int n){ n--; if(n<=0)return 1; else return getnum(n-1)*n; } void getpair1(long pos[12][2],int n,long all[][24],int row=0,int tot=0){ int k=tot/(n-1),j; long temp[12][2]; for(int i=0;i=1)&&(flag<2)){ getpair1(pos,n-2,all,row,k); } for(int m=0;m<12;m++){ pos[m][0]=temp[m][0]; pos[m][1]=temp[m][1]; } flag=0; coun--; row=row+k; } } int retest(int nn,int n,long x,long y,long tempx,long tempy){ long tpx=1999999999,tpy=0; int i=0,flag=0,j=0,flag2=0,jj=0; for(j=0;jall[nn][2*j]){tpx=all[nn][2*j];tpy=all[nn][2*j+1];jj=j;} flag2=1; } } if(flag2==1){tempx=tpx;tempy=tpy;} if(flag2==0)return 0; flag2=0; if(jj%2==0)flag=1; else flag=-1; tempx=all[nn][2*(jj+flag)]; tempy=all[nn][2*(jj+flag)+1]; if((tempx==x)&&(tempy==y))return 1; else return retest(nn,n,x,y,tempx,tempy); } int main() { FILE *fp,*fout; int i=0,n,sum=0,flag=0; long pair[6][4]; fp=fopen("wormhole.in","r"); fout=fopen("wormhole.out","w"); fscanf(fp,"%d",&n); for(i=0;i
Ski Course Design
/* ID: tominute PROG: skidesign LANG: C++ */ #include #include #include using namespace std; int main(void) { int N,i,temp,diff,flag,sum=0; long out=999999999; int height[1000]={0}; ifstream fin("skidesign.in"); fin >> N; for(i=0;i>height[i]; fin.close(); for(i=1;i<=83;i++){ sum=0; for(int j=0;j(i+17))sum+=(height[j]-i-17)*(height[j]-i-17); } if(sum
Arithmetic Progressions
/* ID: tominute PROG: ariprog LANG: C++ */ #include #include #include #include using namespace std; int square(int test,int M){ int i,j,upp=sqrt(test),diff,iii,difff; if(M=iii;i--){ diff=test-i*i; if(diff==0)return 1; difff=sqrt(diff); if(difff*difff==diff)return 1; } return 0; } int main(void) { int N,i,M,a,b,test,sum=0,m,flag=0,k,n,aa; ifstream fin("ariprog.in"); fin >> N>>M; m=M; M=2*M*M; k=M/(N-1); fin.close(); ofstream fout("ariprog.out"); if(((m+N)<20)||(N<15)){ for(b=1;b<=k;b++){ aa=M-(N-1)*b; for(a=0;a<=aa;a++){ for(i=0;i
Mother's Milk
/* ID: tominute PROG: milk3 LANG: C++ */ #include #include #include #include #include using namespace std; int main(void) { int a,b,c,left[21]={0},a1,b1,c1,flag,count=0,out[21]={0},r; ifstream fin("milk3.in"); FILE *fout; fout=fopen("milk3.out","w"); fin >>a>>b>>c; fin.close(); c1=c;a1=0;b1=0;left[c1]=1; for(int i=0;i<5000000;i++){ r=rand()%6; switch(r){ case 0:if(c1>(a-a1)){c1=c1-(a-a1);a1=a;}//c->a else{a1+=c1;c1=0;} if(a1==0)left[c1]=1; if(a1>(b-b1)){a1=a1-(b-b1);b1=b;}//a->b else{b1+=a1;a1=0;}break; case 1:if(c1>(b-b1)){c1=c1-(b-b1);b1=b;}//c->b else{b1+=c1;c1=0;} if(a1==0)left[c1]=1; if(b1>(a-a1)){b1=b1-(a-a1);a1=a;}//b->a else{a1+=b1;b1=0;}break; case 2: if(a1>(c-c1)){a1=a1-(c-c1);a1=a;}//a->c else{c1+=a1;a1=0;} if(a1==0)left[c1]=1;break; case 3:if(b1>(c-c1)){b1=b1-(c-c1);b1=b;}//b->c else{c1+=b1;b1=0;} if(a1==0)left[c1]=1;break; case 4: if(a1>(b-b1)){a1=a1-(b-b1);b1=b;}//a->b else{b1+=a1;a1=0;}break; case 5:if(b1>(a-a1)){b1=b1-(a-a1);a1=a;}//b->a else{a1+=b1;b1=0;}break; } } for(int i=0;i<21;i++){ if(left[i]==1){out[count]=i;count++;} } for(int i=0;i<(count-1);i++){ fprintf(fout,"%d ",out[i]); } fprintf(fout,"%d\n",out[count-1]); fclose(fout); //cout<<"end"<
Number Triangles
/*
ID: tominute
PROG: numtri
LANG: C++
*/
#include
#include
#include
#include
#include
using namespace std;
long temp[1010]={0};
long numtri[1010][1010]={0};
int main(void)
{
int n,i,k=1;
ifstream fin("numtri.in");
FILE *fout;
fin >>n;
for(i=1;i<=n;i++){
for(int j=1;j<=i;j++){
fin>>numtri[i][j];
}
}
fin.close();
/*for(i=1;i<=n;i++){
for(int j=0;j=0;j--){
if(temp[j]>=temp[j-1])temp[j]+=numtri[i][j];
else temp[j]=temp[j-1]+numtri[i][j];
}
}
for(i=1;i<=n;i++){
if(temp[i]>temp[0])temp[0]=temp[i];
}
fout=fopen("numtri.out","w");
fprintf(fout,"%ld\n",temp[0]);
fclose(fout);
//getchar();
return 0;
}
#include
#include
#include
#include
using namespace std;
long temp[1010]={0};
long numtri[1010][1010]={0};
int main(void)
{
int n,i,k=1;
ifstream fin("numtri.in");
FILE *fout;
fin >>n;
for(i=1;i<=n;i++){
for(int j=1;j<=i;j++){
fin>>numtri[i][j];
}
}
fin.close();
/*for(i=1;i<=n;i++){
for(int j=0;j=0;j--){
if(temp[j]>=temp[j-1])temp[j]+=numtri[i][j];
else temp[j]=temp[j-1]+numtri[i][j];
}
}
for(i=1;i<=n;i++){
if(temp[i]>temp[0])temp[0]=temp[i];
}
fout=fopen("numtri.out","w");
fprintf(fout,"%ld\n",temp[0]);
fclose(fout);
//getchar();
return 0;
}
Prime Palindromes
/*
ID: tominute
PROG: pprime
LANG: C++
*/
#include
#include
#include
#include
using namespace std;
int num(long a){
int count=0;
while(a>=1){
a=a/10;
count++;
}
return count;
}
int zhishu(long test){
//long k=test/2;
long kk=sqrt(test);
for(long i=3;i<=kk;i+=2)
if(test%i==0)return 1;
return 0;
}
int main(void)
{
int na,nb,i,k=0,index[2][10],ind[8]={5,10,10,10,10,10,10,10},dex[8]={0};
long test,a,b;
for(i=0;i<=9;i++)
index[1][i]=i;
for(i=0;i<=4;i++)
index[0][i]=2*i+1;
ifstream fin("pprime.in");
FILE *fout;
fin >>a>>b;
fin.close();
na=num(a);
nb=num(b);
fout=fopen("pprime.out","w");
for(i=na;i<=nb;i++){
for(int j=0;j<8;j++)dex[j]=0;k=0;
while(k>=0){
if(i%2==0){
test=index[0][dex[0]];
for(int j=2;j<=i/2;j++)
test+=pow(10,j-1)*index[1][dex[j-1]];
for(int j=i/2+1;j<=i-1;j++)
test+=pow(10,j-1)*index[1][dex[i-j]];
test+=pow(10,i-1)*index[0][dex[0]];
}
if(i%2==1){
test=index[0][dex[0]];
if(i>=5){for(int j=2;j<=i/2;j++)
test+=pow(10,j-1)*index[1][dex[j-1]];}
if(i!=1)test+=pow(10,i/2)*index[1][dex[i/2]];
if(i>=5){for(int j=i/2+2;j<=i-1;j++)
test+=pow(10,j-1)*index[1][dex[i-j]];}
if(i!=1)test+=pow(10,i-1)*index[0][dex[0]];
}
if(zhishu(test)==0){
if(i==na){if((test>=a)&&(test<=b))fprintf(fout,"%ld\n",test);}
if((i==nb)&&(na!=nb)){if(test<=b)fprintf(fout,"%ld\n",test);}
if((i!=na)&&(i!=nb))fprintf(fout,"%ld\n",test);
}
for(k=(i+1)/2-1;k>=0;k--){
dex[k]++;
if(dex[k]==ind[k])dex[k]=0;
else break;
}
}
}
//cout<
#include
#include
#include
using namespace std;
int num(long a){
int count=0;
while(a>=1){
a=a/10;
count++;
}
return count;
}
int zhishu(long test){
//long k=test/2;
long kk=sqrt(test);
for(long i=3;i<=kk;i+=2)
if(test%i==0)return 1;
return 0;
}
int main(void)
{
int na,nb,i,k=0,index[2][10],ind[8]={5,10,10,10,10,10,10,10},dex[8]={0};
long test,a,b;
for(i=0;i<=9;i++)
index[1][i]=i;
for(i=0;i<=4;i++)
index[0][i]=2*i+1;
ifstream fin("pprime.in");
FILE *fout;
fin >>a>>b;
fin.close();
na=num(a);
nb=num(b);
fout=fopen("pprime.out","w");
for(i=na;i<=nb;i++){
for(int j=0;j<8;j++)dex[j]=0;k=0;
while(k>=0){
if(i%2==0){
test=index[0][dex[0]];
for(int j=2;j<=i/2;j++)
test+=pow(10,j-1)*index[1][dex[j-1]];
for(int j=i/2+1;j<=i-1;j++)
test+=pow(10,j-1)*index[1][dex[i-j]];
test+=pow(10,i-1)*index[0][dex[0]];
}
if(i%2==1){
test=index[0][dex[0]];
if(i>=5){for(int j=2;j<=i/2;j++)
test+=pow(10,j-1)*index[1][dex[j-1]];}
if(i!=1)test+=pow(10,i/2)*index[1][dex[i/2]];
if(i>=5){for(int j=i/2+2;j<=i-1;j++)
test+=pow(10,j-1)*index[1][dex[i-j]];}
if(i!=1)test+=pow(10,i-1)*index[0][dex[0]];
}
if(zhishu(test)==0){
if(i==na){if((test>=a)&&(test<=b))fprintf(fout,"%ld\n",test);}
if((i==nb)&&(na!=nb)){if(test<=b)fprintf(fout,"%ld\n",test);}
if((i!=na)&&(i!=nb))fprintf(fout,"%ld\n",test);
}
for(k=(i+1)/2-1;k>=0;k--){
dex[k]++;
if(dex[k]==ind[k])dex[k]=0;
else break;
}
}
}
//cout<
Superprime Rib
/*
ID: tominute
PROG: sprime
LANG: C++
*/
#include
#include
#include
#include
using namespace std;
int zhishu(long test){
//long k=test/2;
long kk=sqrt(test);
for(long i=3;i<=kk;i+=2)
if(test%i==0)return 1;
return 0;
}
int main(void)
{
int n,i,num1[4]={2,3,5,7},num2[5]={1,3,5,7,9},k=0,index[8]={0},index_max[8]={4,5,5,5,5,5,5,5},flag;
long test;
ifstream fin("sprime.in");
FILE *fout;
fin >>n;
fin.close();
fout=fopen("sprime.out","w");
while(k>=0){
test=num1[index[0]];
flag=0;
for(i=1;i=0;k--){
index[k]++;
if(index[k]==index_max[k])index[k]=0;
else break;
}
}
fclose(fout);
//getchar();
return 0;
}
#include
#include
#include
using namespace std;
int zhishu(long test){
//long k=test/2;
long kk=sqrt(test);
for(long i=3;i<=kk;i+=2)
if(test%i==0)return 1;
return 0;
}
int main(void)
{
int n,i,num1[4]={2,3,5,7},num2[5]={1,3,5,7,9},k=0,index[8]={0},index_max[8]={4,5,5,5,5,5,5,5},flag;
long test;
ifstream fin("sprime.in");
FILE *fout;
fin >>n;
fin.close();
fout=fopen("sprime.out","w");
while(k>=0){
test=num1[index[0]];
flag=0;
for(i=1;i=0;k--){
index[k]++;
if(index[k]==index_max[k])index[k]=0;
else break;
}
}
fclose(fout);
//getchar();
return 0;
}