USACO Section 1.2 Dual Palindromes
来源:互联网 发布:剑灵天族枪手捏脸数据 编辑:程序博客网 时间:2024/06/05 07:05
题目描述
从左到右读取数字从左到右读取相同的数字称为回文。 数字12321是回文; 数字77778不是。 当然,回文没有前导和尾随零,所以0220不是回文。
数字21(基数10)在基数10中不是回文,而数字21(基数10)实际上是基数2(10101)中的回文。
编写一个读取两个数字的程序(以10为基数):
N(1 <= N <= 15)
S(0 <S <10000)
然后在两个或多个数字基础(2 <= base <= 10)中查找和打印(在10)中严格大于S的前N个数字,它们是回文。
这个问题的解决方案不需要操纵大于标准32位的整数。
程序名称:dualpal
输入格式
单行空格分隔整数N和S.
输入(file dualpal.in)
3 25
输出格式
N行,每个都有至少两个基中表达的基数为10的回文。 这些数字应该按照从小到大的顺序列出。
输出(file dualpal.out)
26
27
28
解题思路
本题主要思路是,找出大于s的n个数使得这些数转化为2~10进制的字符串形式时有两种或两种以上为回文数。则我们必须把大于s的每个数转换为2~10进制的形式判断是否有两种或者两种以上为回文数,若是且是的个数不超过n则输出。
解题代码
/* ID: 15189822PROG: dualpalLANG: C++ */ #include<iostream>#include<fstream>#include<cstring>using namespace std;ofstream fout ("dualpal.out");ifstream fin ("dualpal.in"); void zhuanhuan(char *a, int num, int base){ int k = 0, temp; while(num){ temp = num % base; if(temp<10) a[k++]=temp+'0'; else a[k++]='A'+temp-10; num/=base; } a[k] = '\0';}bool panduan(char *a){ bool ans=true; char t[100]; int l=strlen(a); for(int i=0;i<l;i++) t[l-i-1]=a[i]; t[l]='\0'; if(strcmp(a,t)==0) return true; else return false;}int main(){int n, s, ok; char a[100]; fin>>n>>s; for(s++;n>0;s++){ ok = 0; for(int i=2;i<=10;i++){ zhuanhuan(a,s,i); if(panduan(a)) ok++; if(ok>=2){ fout<<s<<endl; n--; break; } } } return 0;}
阅读全文
0 0
- USACO Section 1.2 Dual Palindromes
- USACO Section 1.2 Dual Palindromes
- USACO section 1.2 Dual Palindromes
- USACO Section 1.2 Dual Palindromes
- USACO section 1.2.4 Dual Palindromes
- USACO Section 1.2.5 Dual Palindromes
- Section 1.2 Dual Palindromes
- Section 1.2 Dual Palindromes
- USACO Training Section 1.2 Dual Palindromes 解题报告&AC代码
- USACO 1.2 Dual Palindromes
- USACO 1.2 Dual Palindromes
- USACO 1.2 Dual Palindromes
- USACO 1.2-Dual Palindromes
- USCAO section 1.2 Dual Palindromes
- [题目] Section 1.2 Dual Palindromes
- USCAO Section 1.2 Dual Palindromes
- USACO 1.2.5 Dual Palindromes
- [USACO 1.2.5] Dual Palindromes
- 学习笔记|AS入门(番外) 技能篇
- SSH三大框架整合
- 2017PHP学习路线图
- MYSQL和ORACLE的一些区别
- [BZOJ]1016: [JSOI2008]最小生成树计数
- USACO Section 1.2 Dual Palindromes
- 设计模式
- 使用Python类的 __init__( ) 函数定义成员变量
- matlab生成随机数的rand、randi和randn三种形式
- 第十届河南省省赛- 问题 A: 谍报分析
- 区间重叠问题 (贪心)
- jQuery
- 南阳理工oj P2 括号配对问题
- java -verbose命令