1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; int n; char a[400]; int did(int data) { int ans=0; memset(a,'\0',sizeof(a)); while(data){ int kk=data%n; data=data/n; if (kk<10){ a[ans++]=kk+'0'; } else a[ans++]=kk-10+'A'; } for (int i=0;i<ans/2;i++){ if (a[i]!=a[ans-1-i]){ return 0; } } return 1; } void pri(int data) { stack<char>sta; while(data){ int kk=data%n; data=data/n; if (kk<10){ sta.push(kk+'0'); } else sta.push(kk-10+'A'); } while(sta.size()){ printf("%c",sta.top()); sta.pop(); } } int main() { while(scanf("%d",&n)!=EOF){ for (int i=1;i<=300;i++){ if (did(i*i)){ pri(i); printf(" %s\n",a); } } } return 0; }
- 1
信息
- ID
- 660
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者