Palindromes are numbers that read the same forwards as backwards. The number 12321 is a typical palindrome.
回文数是反向和正向读都是一样的数字,例如12321就是一个典型的回文数。
Given a number base B, print all the integers N (1 <= N <= 300 base 10) such that the square of N is palindromic when expressed in base B; also print the value of that palindromic square. Use the letters 'A', 'B', and so on to represent the digits 10, 11, and so on.
Print both the number and its square in base B.
A single line with B, the base (specified in base 10).
10
Lines with two integers represented in base B. The first integer is the number whose square is palindromic; the second integer is the square itself. NOTE WELL THAT BOTH INTEGERS ARE IN BASE B!
1 1 2 4 3 9 11 121 22 484 26 676 101 10201 111 12321 121 14641 202 40804 212 44944 264 69696
- #include
- using namespace std;
- int ispal(char *s)
- {
- char *t;
-
- t = s+strlen(s)-1;
- for(t=s+strlen(s)-1; s
- if(*s != *t)
- return 0;
-
- return 1;
- }
- void numbconv(char *s, int n, int b)
- {
- int len;
-
- if(n == 0) {
- strcpy(s, "");
- return;
- }
- numbconv(s, n/b, b);
- len = strlen(s);
- s[len] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[n%b];
- s[len+1] = '\0';
- }
-
- int main(){
- char s[20];
- char t[20];
- int i, base;
-
- freopen("palsquare.in", "r", stdin);
- freopen("palsquare.out", "w", stdout);
- cin>>base;
- for(i=1; i <= 300; i++) {
- numbconv(s, i*i, base);
- if(ispal(s)) {
- numbconv(t, i, base);
- cout<
" "< - }
- }
- }
-
相关阅读:
【实践篇MySQL执行计划详解
移动WEB开发之rem布局--苏宁首页案例制作(技术方案1)
2023NOIP A层联测19 多边形
MLOps 学习之旅「GitHub 热点速览」
七、Linux中一些符号的含义和宿主目录的介绍
SPI通信协议
Go-Ldap-Admin | openLDAP 同步钉钉、企业微信、飞书组织架构实践和部分小坑
docker入门加实战—docker数据卷
Spring Boot 依赖之 lombok的@Data注解
6.0、C语言——递归函数
-
原文地址:https://blog.csdn.net/GeekAlice/article/details/126927866