PAT Grade A-hexadecimal conversion, palindrome number type-1019 General Palindromic Number problem solving ideas

1019 General Palindromic Number (20 分)

Insert picture description here

Ideas

The base conversion of code one uses a very cumbersome method, the division base conversion, so in the second code, the remainder base conversion is used.

The number of palindromes can be judged by half of the for loop search.

Code one

#include <bits/stdc++.h>
using namespace std;

int main()
{
    
    
    int N,b,n,temp;
    scanf("%d%d",&N,&b);
    int num = 1;

    for(int i =1 ;i<32;i++)
    {
    
    
        num = num * b;
        if((N - num)<0)
        {
    
    
            n = i-1;
            break;
        }
    }

    int res[32]={
    
    0};
    temp = N;
    for (int i = n;i>=0;i--)
    {
    
    
        num = 1;
        for(int j = 0;j<i;j++)
        {
    
    
            num*=b;
        }
        res[i] =temp  / num;
        temp -= res[i] * num;
    }

    int flag = 1;
    for (int i = n;i>=n/2;i--)
    {
    
    
        if(res[i]!= res[n-i])
        {
    
    
            flag=0;
            break;
        }
    }
    if(flag)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
        
    for (int i = n;i>=0;i--)
    {
    
    
        if(i==0)
            cout<<res[i];
        else
            cout<<res[i]<<' ';
    }

}

Code two

#include <bits/stdc++.h>
using namespace std;

int main()
{
    
    
    int N,b,n,temp;
    scanf("%d%d",&N,&b);
    int res[32]={
    
    0};

    int num = 0;
    do{
    
    
        res[num++] = N%b;
        N = N/b;
    }while(N!=0);

    n = num-=1;


    int flag = 1;
    for (int i = n;i>=n/2;i--)
    {
    
    
        if(res[i]!= res[n-i])
        {
    
    
            flag=0;
            break;
        }
    }
    if(flag)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;

    for (int i = n;i>=0;i--)
    {
    
    
        if(i==0)
            cout<<res[i];
        else
            cout<<res[i]<<' ';
    }
}

Guess you like

Origin blog.csdn.net/weixin_43999137/article/details/114041725