1019. General Palindromic Number

  题意:求数N在b进制下其序列是否为回文串,并输出其在b进制下的表示。

  思路:模拟N在2进制下的表示求法,“除b倒取余”,之后判断是否回文。

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int Base[30];
 5 int main()
 6 {
 7     int n, b;
 8     scanf("%d%d", &n, &b);
 9     int len = 0, tmp = n,yu=tmp%b;
10     while (tmp / b)
11     {
12         Base[len++] = yu;
13         tmp = tmp / b;
14         yu = tmp % b;
15     }
16     Base[len++] = yu;
17     bool flag = true;
18     for (int i = 0, j = len - 1; i <= j&&flag; i++, j--)
19     {
20         if (Base[i] != Base[j]) flag = false;
21     }
22     if (flag) printf("Yes\n");
23     else printf("No\n");
24     for (int i = len - 1; i >= 0; i--)
25     {
26         printf("%d", Base[i]);
27         if (i) printf(" ");
28     }
29     printf("\n");
30     return 0;
31 }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-03-10
  • 2021-12-04
  • 2021-06-26
  • 2021-07-28
  • 2021-08-15
  • 2021-06-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2018-04-24
  • 2021-04-27
相关资源
相似解决方案