发布时间: 2017年7月9日 21:16 最后更新: 2017年7月10日 21:10 时间限制: 1000ms 内存限制: 128M
描述Claire Redfield在龙之谷游戏的一次任务中获得了一个上了锁的宝箱,上面刻了一串由小写字母构成的字符串A和一个数字 m 。
经过Claire长时间研究,他发现密码是和 a , m 有关的。字符串A相当于一个26进制的数字, a 相当于 0 , b 相当于 1 ……. z 相当于 25 。然后要将这个26进制的数转化成 m 进制那就是这个宝箱的密码。
Claire觉得这个太简单了所以要你帮她完成。
输入多组输入,每组一行,输入一个字符串 A 和一个正整数 m 。 字符串长度 <=10,2<=m<=9 。
输出每组输出一行答案,如题意。
样例输入1 复制 b 2 样例输出1 1 选择语言 想法:水题,注意进制转换 代码: #include<bits/stdc++.h> using namespace std; char s[20]; int a[1000]; long long pow(int x,int y) { long long ans=1; if(y==0) return 1; for(int i=0;i<y;i++) { ans=ans*x; } return ans; } int main() { int m; while(scanf("%s %d",s,&m)!=EOF) { //printf("%d\n",pow(26,m)); if(m<2||m>9) continue; int len=strlen(s); long long n=0; for(int i=len-1;i>=0;i--) { n=n+(s[i]-'a')*pow(26,len-1-i); } //printf("%d\n",n); if(n==0) { printf("0\n"); continue; } int i=0; while(n>0) { a[i]=n%m; n=n/m; i++; } for(int j=i-1;j>=0;j--) { printf("%d",a[j]); } printf("\n"); getchar(); } return 0; }