3445:【例78.3】回文数(Noip1999)
[例78.3] 回文数
1309:【例1.6】回文数(Noip1999)
洛谷——P1015 [NOIP1999 普及组] 回文数
1083 - 回文数
NOIP1999普及组_回文数_高精_普及减难度
CSP-J2-W1 P1015 [NOIP1999 普及组] 回文数
P1015 [NOIP1999 普及组] 回文数
/*
1309:【例1.6】回文数(Noip1999)-AC
http://ybt.ssoier.cn:8088/problem_show.php?pid=1309
*/
#include<iostream>
#include<cstring>
using namespace std;
int n,a[101],b[101],ans,i;
//将数串s转化为整数数组a
void init(int a[])
{
string s;
//n进制 读入字符串s
cin>>n>>s;
//数组a清0
memset(a,0,sizeof(a));
//用a[0]计算字符串s的位数
a[0]=s.length();
for(i=1;i<=a[0];i++)
if(s[a[0]-i]>='0'&&s[a[0]-i]<='9')
{
a[i]=s[a[0]-i]-'0';
}
else
{
a[i]=s[a[0]-i]-'A'+10;
}
}
//判别整数数组a是否为回文数
bool check(int a[])
{
for(i=1;i<=a[0];i++)
if(a[i]!=a[a[0]-i+1])
{
return false;
}
return true;
}
//整数数组a与其反序数b进行n进制加法运算
void jia(int a[])
{
for(int i=1;i<=a[0];i++)b[i]=a[a[0]-i+1]; //反序数b
for(int i=1;i<=a[0];i++) a[i]+=b[i]; //逐位相加
//处理进位
for(int i=1;i<=a[0];i++)
{
a[i+1]+=a[i]/n;
a[i]%=n;
}
//修正新的a的位数(a+b最多只能的一个进位)
//最高进位
if( a[a[0]+1]>0 ) a[0]++;
}
int main( void )
{
init(a);
if(check(a))
{
cout<<0<<endl;
return 0;
}
//步数初始化为0
ans=0;
while(ans++<=30)
{
jia(a);
if( check(a) )
{
cout<<ans<<endl;
return 0;
}
}
//输出无解信息
cout<<"Impossible";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n,a[101],b[101],ans;
void init(int a[]){
string s;
cin>>n>>s;
memset(a,0,sizeof(a));
a[0]=s.length();
for(int i=1;i<=a[0];i++){
if(s[a[0]-i]>='0'&&s[a[0]-i]<='9') a[i]=s[a[0]-i]-'0';
else a[i]=s[a[0]-i]-'A'+10;
}
}
bool check(int a[]){
for(int i=1;i<=a[0];i++)
if(a[i]!=a[a[0]-i+1]){
return false;
}
return true;
}
void jia(int a[]){
for(int i=1;i<=a[0];i++) b[i]=a[a[0]-i+1];
for(int i=1;i<=a[0];i++) a[i]+=b[i];
for(int i=1;i<=a[0];i++){
a[i+1]+=a[i]/n;
a[i]%=n;
}
if(a[a[0]+1]>0)a[0]++;
}
int main()
{
init(a);
if(check(a)){
cout<<0;
return 0;
}
ans=0;
while(ans++<=30){
jia(a);
if(check(a)){
cout<<ans;
return 0;
}
}
cout<<"Impossible";
return 0;
}
洛谷 P1157 组合的输出 Python题解
洛谷 python P1164 小A点菜
python解洛谷入门题P1179、P1200、P1304、P1307、P1317、P1319、P1320、P1321、P1420、P1421
洛谷pythonP1228 地毯填补问题 分治
洛谷 P1307 [NOIP2011 普及组] 数字反转
简单字符串——洛谷#P1308 统计单词数(Python实现)
循环!循环!循环!——洛谷#P1424 小鱼的航程(Python实现)