PAT 1019. General Palindromic Number (20)
2015-11-20 18:37
501 查看
n变为b进制后 其原来的顺序和从后往前排是否相等 即倒置后是否一样
只想说PAT上的测试数据b有点小(应该是故意的 毕竟只有20分)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<vector>
#include<map>
#include<stack>
#include<queue>
using namespace std;
int main()
{
int n,b;
int a[10001];
scanf("%d%d",&n,&b);
int s=n;
int i,j;
i=0;
if(s==0)
a[i++]=0;
else
while(s!=0)
{
a[i++]=s%b;
s/=b;
}
int m=i;
j=i-1;
i=0;
while(a[i]==a[j]&&i!=j)
{
i++;
j--;
}
if(i!=j)
printf("No\n");
else
printf("Yes\n");
printf("%d",a[m-1]);
for(j=m-2;j>=0;j--)
printf(" %d",a[j]);
printf("\n");
return 0;
}
只想说PAT上的测试数据b有点小(应该是故意的 毕竟只有20分)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<vector>
#include<map>
#include<stack>
#include<queue>
using namespace std;
int main()
{
int n,b;
int a[10001];
scanf("%d%d",&n,&b);
int s=n;
int i,j;
i=0;
if(s==0)
a[i++]=0;
else
while(s!=0)
{
a[i++]=s%b;
s/=b;
}
int m=i;
j=i-1;
i=0;
while(a[i]==a[j]&&i!=j)
{
i++;
j--;
}
if(i!=j)
printf("No\n");
else
printf("Yes\n");
printf("%d",a[m-1]);
for(j=m-2;j>=0;j--)
printf(" %d",a[j]);
printf("\n");
return 0;
}
相关文章推荐
- iOS引入JavaScriptCore引擎框架(一)
- C# 获取IE浏览器句柄
- CodeForces 487E UOJ 30 Tourists Tarjan + 树链剖分
- PHP 代码加密
- C代码:指定路径删除N天之前的日志
- phonegap-调用android手机照相机
- linux 定时任务
- APP中通过包名或类名启动另一个APP
- 水仙花数
- 2015中国数据库大会Mongodb分享
- android studio 导入 eclipse 并上传到svn
- 我的青春,我的梦
- 数据包接收系列 — 下半部实现(软中断)
- hpu第五届acm比赛
- Python 列表、元组、字典、字符串
- Android图片加载框架:ImageLoader,Volley,Picasso,Glide,Fresco
- 在Dreamweaver下创建一个php文件并用正确使用php“绘图函数”进行绘制图形时,图形却无法显示
- 使用fragment在activity中传值的例子
- Gradle 教程
- spring的aop编程