USACO 1.2.5 Dual Palindromes

USACO 1.2.5 Dual Palindromes


/**/ /*
ID: lorelei3
PROG: dualpal
LANG: C++
*/


#include 
< fstream >

using   namespace  std;

int  IsDual( int  num,  int   base ) {
    
int s[100];
    
int i,j = 0;
    
while(num!=0){
        s[j] 
= num%base;
        num 
/= base;
        j
++;
    }


    
for(i=0,j--; i<j; ++i,--j)
        
if(s[i]!=s[j])
            
return 0;
    
return 1;
}



int  IsDoubleDual( int  S) {
    
for(int i=2, j=0; i<=10++i){
        
if(IsDual(S, i)){
            j
++;
            
if(j==2)
                
return 1;
        }

    }

    
return 0;
}


int  main() {
    
int n,N,S;
    ifstream 
in("dualpal.in");
    ofstream 
out("dualpal.out");

    
in>>N>>S;

    n
=0;
    
    
while(n<N){
        S
++;
        
if(IsDoubleDual(S)){
            n
++;
            
out<<S<<endl;
        }

    }


    
return 0;
}

你可能感兴趣的:(USACO 1.2.5 Dual Palindromes)