竞赛讨论区 > 能帮忙看看H题还有哪个边界没周全到么?通过率95.56..
头像
QWEVXXQ
编辑于 2022-05-29 17:23
+ 关注

能帮忙看看H题还有哪个边界没周全到么?通过率95.56..

#include<bits/stdc++.h>
using namespace std;
int n,s,f=0;
const int N=1e7;
char ans[N];
int p=0;
void jinzhi(int a,int i){ //利用栈实现进制转换,将转换到的数字存在ans数组中
	if(a>0) {
		jinzhi(a/i,i);
		int t=a%i;
		if(t>9)
			ans[p++] ='A'+t-10;
		else
			ans[p++] ='0'+t;
		ans[p]=0;
	}			
}
bool huiwen(){ //回文数判断
	int i=0;
    int j=strlen(ans)-1;
	int l=j;  //7447 4/2=2
	for(;i<j;i++,j--)
	{
		if(ans[i]!=ans[j]) //回文
			return false;
		if((i<l/2 && ans[i]>ans[i+1])) //递增
			return false;
	}
	return true;
}

int main(){
	cin>>n>>s;
	for(int i=2;i<=n;i++)
	{
		strcpy(ans,""); //初始化
		p=0;//初始化
		jinzhi(s,i);
		if(huiwen()) {printf("%d %s\n",i,ans);f=1;}		
	}
	if(!f) printf("guomienasai");
}


全部评论

(3) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐