经典进制转换——USACO Palindromic Squares
Sample Input
10
Sample Output
1 1
2 4
3 9
11 121
22 484
26 676
101 10201
111 12321
121 14641
202 40804
212 44944
264 69696
这里简单说一下base的意思和用法,
base 10,就是十进制的意思
#include "iostream"
#include "string"
#include "cstring"
using namespace std;
int bit[20]={0};
char chbit[20]={'0'};
char forbit[20]={'0'};
int pos, TenBase, pos1;
void ChTen(int base, int num) //将十进制的数 转化成相应的进制 数组形式的
{
int i;
for(i=0; num>0; i++)
{
bit[i] = num%base;
num /= base;
}
pos = i-1; //统计字符串长度
}
bool Judge() //判断字符数组是否为回文
{
pos1 = pos;
for(int i=0; i<=pos; i++)
{
if(bit[i]<10)
chbit[i] = bit[i]+48;
else
chbit[i] = bit[i] - 10 + 'A';
}
for(int i=0, j=pos1; i<=j; i++, j--)
if(chbit[i]!=chbit[j])
return false;
return true;
}
int main()
{
int base, TenNum;
cin>>base;
for(int m=1; m<=300; m++)
{
TenNum = m*m;
ChTen(base, TenNum);
if(Judge())
{
ChTen(base, m);
for(int i=0; i<=pos; i++)
{
if(bit[i]<10)
forbit[i] = bit[i]+48;
else
forbit[i] = bit[i] - 10 + 'A';
}
for(int i=pos; i>=0; i--)
cout<<forbit[i];
cout<<" ";
for(int i=pos1; i>=0; i--)
cout<<chbit[i];
cout<<endl;
}
}
}
分类:
C 基础知识
posted on 2011-10-16 11:00 More study needed. 阅读(235) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架