1 条题解
-
0
C++ :
#include<cstdio> #include<iostream> #include<cstring> const int maxn=1000; using namespace std; int t[maxn],A[maxn]; char str1[maxn],str2[maxn]; int n,m; void solve(char *str1,char *str2,int n,int m) { int i,len,k; len=strlen(str1); for(i=len;i>=0;i--) { t[len-1-i]=str1[i]-(str1[i]<58?48:str1[i]<97?55:61); } for(k=0;len;) { for(i=len;i>=1;i--) { t[i-1]+=t[i]%m*n; t[i]/=m; } A[k++]=t[0]%m; t[0]/=m; while(len>0&&!t[len-1]) { len--; } } str2[k]=NULL; for(i=0;i<k;i++) { str2[k-1-i]=A[i]+(A[i]<10?48:A[i]<36?55:61); } } int main() { while(cin>>str1) { solve(str1,str2,10,2); cout<<str2<<endl; } }
- 1
信息
- ID
- 873
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者