首页 » 技术分享 » 2017去哪儿网校招笔试题(一)

2017去哪儿网校招笔试题(一)

 

用英文字母a-z来分别表示数值0-25, 形成一个26进制的数值表示法。需要你写一个方法,将用a-z表示的26进制数值的字符串,转化为对应的10进制数值。

输入

输入数据有多组,每组占一行,包含多个a-z之间的字符。

输出

所对应表示的10进制数。

样例输入

ba

bcd

gibbon

goodboy

样例输出

26

731

74962693

2026285376

package test;
import java.util.Scanner;
class trans{

String target = null;
long result = 0;

public static long chengfang(int i){
long result = 1;
if(i == 0)
return result;
result = 1;
for(int j = 0; j < i; j++){
result *= 26; 
}
return result;
}


public trans(String target){
this.target = target;
}

public void cal(){
char c[] = target.toCharArray();
int j = 0;
for(int i = c.length - 1; i >= 0; i--){
int curr = c[i] - 'a';
result += curr * chengfang(j); 
j++;
}
System.out.println(result);

}
public class Qunawang {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sin = new Scanner(System.in);
String s = null;
while(sin.hasNext()){
s = sin.next();
if(s != null)
new trans(s).cal();
}
}
}

转载自原文链接, 如需删除请联系管理员。

原文链接:2017去哪儿网校招笔试题(一),转载请注明来源!

0