12分,帮帮本蒟蒻吧!
查看原帖
12分,帮帮本蒟蒻吧!
930714
zbr121115楼主2024/7/31 11:09

本蒟蒻太逊,勿喷......

#include<bits/stdc++.h>
using namespace std;
//__int128 read(){__int128 x=0,f=1;char ch=getchar();while(!isdigit(ch)&&ch!='-')ch=getchar();if(ch=='-')f=-1,ch=getchar();while(isdigit(ch))x=x*10+ch-'0',ch=getchar();return f*x;}void print(__int128 x){if(x<0)putchar('-'),x=-x;if(x>9)print(x/10);putchar(x%10+'0');}
//struct node{};
string tostring(int n) {if (n==0) {return "0";}string str="";bool f=false;if (n<0) {f=true;n=-n;}while (n>0) {char ch='0'+(n%10);str=ch+str;n/=10;}if (f==true) {str = "-" + str;}return str;}
bool hw(string s){if (s.size()%2==1){int mid=s.size()/2+1;for (int i=1; i<=mid-1; i++){if (s[mid-i-1]!=s[mid+i-1]){return false;}}}else{int mid=s.size()/2;if (s[mid-1]!=s[mid]){return false;}for (int i=1; i<=mid-1; i++){if (s[mid-i-1]!=s[mid+i]){return false;}}}return true;}
string jz(int num,int r) {string str;int rmd;char ch;if(num==0) str="0";while(num>0) {rmd=num%r;ch=(rmd<10)?(rmd+'0'):(rmd-10+'A');str=ch+str;num/=r;}if(str.size()==1) str="0"+str; return str;}
//int stringto(string str){int num = 0;istringstream ss(str);ss >> num;return num;}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	//freopen("x.in","r",stdin);
	//freopen("x.out","w",stdout);
	int n;
	cin>>n;
	for (int i=1; i<=300; i++){
		if (n==10){
			if (hw(tostring(i*i)))
				cout<<i<<" "<<i*i<<endl;
		}else{
			if (hw(jz(i*i,n))){
				cout<<i<<" "<<i*i<<endl;
			}
		}
	}
	return 0;
}
2024/7/31 11:09
加载中...