平方和回文数
2015-09-05 22:20
232 查看
#include <stdio.h>
#include <memory.h>
#include <string.h>
char* f(int n, int b)
{
char* s= (char*)malloc(sizeof(char)*64);
int i=0;
while(n){
int t=n%b;
char c;
if(t<10) c='0'+t;
else c='A'+(t-10);
s[i++]=c;
n=n/b;
}
s[i]=0;
return s;
}
int h(char *s){
int n=strlen(s);
int i=0;
int j=n-1;
n=n/2;
for(;i<n;i++,j--)
{
if(s[i]!=s[j]) return 0;
}
return 1;
}
char* invert(char*s){
int n=strlen(s);
int i=0;
int j=n-1;
n=n/2;
for(;i<n;i++,j--)
{
if(s[i]!=s[j]){
char c=s[i];
s[i]=s[j];
s[j]=c;
}
}
return s;
}
int main(int argc, char* argv[]) {
int b;
while(scanf("%d",&b)!=EOF){
int i;
for(i=1;i<=300;i++){
char*s = f(i*i,b);
char*t = f(i,b);
if(h(s)){
printf("%s %s\n",invert(t),s);
}
free(s);
free(t);
}
}
return 0;
}
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析
- C++实现汉诺塔算法经典实例
- PHP实现克鲁斯卡尔算法实例解析
- C#获取关键字附近文字算法实例