FZU 1548 猪数

Accept: 218Submit: 367
Time Limit: 1000 mSecMemory Limit : 32768 KB

Problem Description

在猪的世界里有一种数叫猪数,猪是这么定义猪数的:给定一个进制B(2<=B<=20,B用十进制表示),在这个进制下,这个数的平方从左向右念和从右像左念都一样,用‘A’,‘B’……表示10,11等等。

例如:B=10时,121就是一个猪数,因为121的平方14641满足条件。

你的任务是编写一个程序,求出所有大于等于1小于等于300的猪数。

Input

输入包含多组测试数据,请处理到EOF结束。
每组测试数据,由一行组成,为一个单独的整数B(B用十进制表示)。

Output

对每组数据输出:每行两个数字,第二个数是第一个数的平方,且第一个数是猪数。(注意:这两个数都应该在B那个进制下)

Sample Input

10 15

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 2 4 3 9 4 11 8 44 C 99 11 121 14 191 22 484 29 6B6 44 1331 51 1AA1 88 4CC4 99 6226 101 10201 111 12321 121 14641 131 16B61
//题目的样例输出应该是有错的, B=15时, 最前面还有一行1 1
//一次就AC了,有点意外...
//基本的思想就是10进制转B进制(2<=B<=20), 判断该10进制数的平方在B进制下是否对称(猪数).....
#include<iostream> using namespace std; int B; char c[100],ch[100]; bool isPD(int len) { int i; for(i=0;i<len/2;i++) if(c[i]!=c[len-1-i]) return false; return true; } int main() { int i,j,tmp,len,len2,tt1,tt2,t; while(scanf("%d",&B)!=EOF) { for(i=1;i<=300;i++) { tmp=i*i; j=0; while(tmp) { tt1=tmp%B; if(tt1>=10) sprintf(&c[j],"%c",(char)('A'+tt1-10)); else sprintf(&c[j],"%d",tt1); tmp/=B; j++; } len=strlen(c); if(len==1 || isPD(len)) { t=i; j=0; while(t) { tt2=t%B; if(tt2>=10) sprintf(&ch[j],"%c",(char)('A'+tt2-10)); else sprintf(&ch[j],"%d",tt2); t/=B; j++; } len2=strlen(ch); for(j=len2-1;j>=0;j--) printf("%c",ch[j]); printf(" "); for(j=len-1;j>=0;j--) printf("%c",c[j]); printf("/n"); } } } return 0; }
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值