第2-10错了,哪里出了问题啊?
查看原帖
第2-10错了,哪里出了问题啊?
247512
洋葱头www楼主2022/4/23 16:37
#include<bits/stdc++.h>
using namespace std;
int const N = 100000 + 5;
int n, m, p;//大于m的n个双重回文数
bool pd2(int x, int y){//x待判断数;y进制 
	int s[N], d, z1, z2, h;
	d = 1; z1 = 0; z2 = 0; h = 1;
	while(x > 0){
		s[d] = x % y;
		x /= y;
		d++;
	}
	for(int i = 1;i <= d; ++i){
		for(int j = 1; j <= i; ++j)
			h *= 10;
		z1 += h * s[i];
		h = 1;
	}
	for(int i = d;i >= 1; --i){
		for(int j = 1; j <= i; ++j)
			h *= 10;
		z2 += h * s[i];
		h = 1;
	}
	if(z1 == z2)return true;
	else return false;
}
bool pd1(int x){
	for(int i = 2; i <= 10; ++i)
		if(pd2(x, i))p++;
	if(p >= 2)return true;
	else return false;
}
int main(){
	cin >> n >> m;
	for(int i = m + 1; n > 0;++i)
		if(pd1(i)){
			cout << i << endl;
			n--;
		}
	return 0;
} 

本蒟蒻不知哪里出了问题,请神犇们看看

2022/4/23 16:37
加载中...