usaco Palindromic Squares

来源:互联网 发布:软件注册码破解 编辑:程序博客网 时间:2024/05/20 00:52

现在每天花点时间做些基础题,锻炼下思维与编码能力啦~

/*ID: ljracm1LANG: C++PROG: palsquare*/#include<iostream>#include<cstdio>using namespace std;int get_b1(int num,int b){    int res = 0,d;    for(int i = 1; num>0; i*=b){        d = num%b;        num /= b;        res=res+d*i;    }    return res;}int get_b2(int num,int b){    int res = 0, d;    while(num){        res = res*b+num%b;        num/=b;    }    return res;}void print_base(int num,int b){    if(num==0)return;    else{        print_base(num/b,b);        cout<<"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[num%b];//解答上居然可以这样写,果断模仿了    }}int main(){    #ifdef T      freopen("palsquare.in","r",stdin);      freopen("palsquare.out","w",stdout);    #endif    int b,x,y;    cin>>b;    for(int i=1; i<=300; i++){         x = get_b1(i*i,b);         y = get_b2(i*i,b);         if(x==y){             print_base(i,b);             cout<<" ";             print_base(i*i,b);             cout<<endl;         }    }    return 0;}


0 0
原创粉丝点击