usaco 1.2 Palindromic Squares(进制转化)

来源:互联网 发布:wamp无法运行php 编辑:程序博客网 时间:2024/06/15 23:38

考察进制转化 注意一些细节就可以了

直接上代码:

/*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){    int m;    m=n;    xlen=0;    while(m)    {        x[++xlen]=m%B;        m/=B;    }    m=n*n;    ylen=0;    while(m)    {        y[++ylen]=m%B;        m/=B;    }}bool ispal(){    bool flag=1;    int i,j;    for(i=1,j=ylen; i<=j; i++,j--)    {        if(y[i]!=y[j])        {            flag=0;            return 0;            break;        }    }    if(flag)        return 1;}int main(){    FILE *fin  = fopen ("palsquare.in", "r");    FILE *fout = fopen ("palsquare.out", "w");    char c[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J'};    int i,j;    fscanf(fin,"%d",&B);    for(i=1; i<301 ;i++)    {        change(i);        if(ispal())        {            for(j=xlen; j>0 ;j--)                fprintf(fout,"%c",c[x[j]]);            fprintf(fout," ");            for(j=ylen; j>0 ;j--)                fprintf(fout,"%c",c[y[j]]);            fprintf(fout,"\n");        }    }    return 0;}


0 0
原创粉丝点击