1019. General Palindromic Number (20)

来源:互联网 发布:在线教育 java源码 编辑:程序博客网 时间:2024/05/21 11:04

https://www.patest.cn/contests/pat-a-practise/1019

#include <cstdio>#include <iostream>#include <cstring>using namespace std;int stnum[1000] = {0};int Transfer(int num,int b) {    int cnt = 0;    while (num) {        int num2 = num%b;        stnum[cnt] = num2;        num = num/b;        cnt++;    }    return cnt;}bool check(int a[],int cnt) {    //check    int i;    for (i = 0; i < cnt/2; i++) {//        cout << a[i] << " " << a[cnt-1-i];        if (a[i] != a[cnt-1-i]){                return false;                break;        }    }    return true;}int main(){    int n,b;    scanf("%d %d",&n,&b);    if (n == 0) {        cout << "Yes" << endl;        cout << 0;        return 0;    }    int cnt = Transfer(n,b);    if (check(stnum,cnt)) {        cout << "Yes" << endl;        for (int i = cnt-1; i >= 0; i--) {            if (i == 0) cout << stnum[i];            else cout << stnum[i] << " ";        }    }    else {        cout << "No" << endl;        for (int i = cnt-1; i >= 0; i--) {            if (i == 0) cout << stnum[i];            else cout << stnum[i] << " ";        }    }    return 0;}


0 0
原创粉丝点击