[水]ZOJ1078

来源:互联网 发布:数据库报表开发步骤 编辑:程序博客网 时间:2024/06/05 17:20

给一个数

问在2~16进制下是否是回文

然后就没有然后了

 注vector 可以直接赋值给另一个 如b=a

也可以直接比是否相等 a==b

reverse(a.begin(),a.end()) 倒转vector

#include<bits/stdc++.h>using namespace std;int n;vector<int>a,b;bool ans[20];void Gao(){    int ok=0;    memset(ans,0,sizeof(ans));    for (int i=2;i<=16;i++)    {        a.clear();        b.clear();        int t=n;        while (t!=0)        {            a.push_back((t%i));            t/=i;        }        b=a;        reverse(a.begin(),a.end());        if (a==b)        {            ans[i]=1;            ok=1;        }    }    if (!ok)    {        printf("Number %d is not a palindrom\n",n);    }    else    {        printf("Number %d is palindrom in basis",n);        for (int i=2;i<=16;i++)            if (ans[i])                cout<<" "<<i;        cout<<endl;    }}int main(){   // freopen("a.in","r",stdin);    while (cin>>n && n)        Gao();    return 0;}


0 0
原创粉丝点击