題目描述
今天小明學會了進位制轉換,比如(10101)2 ,那麼它的十進制表示的式子就是 :
124+0*23+122+0*21+1*2^0,
那麼請你程式設計實現,將一個M進位制的數N轉換成十進制表示的式子。
注意:當係數爲0時,該單項式要省略。
輸入格式
兩個數,M和N,中間用空格隔開。
輸出格式
共一行,一個十進制表示的式子。
輸入輸出樣例
輸入 #1
2 10101
輸出 #1
12^ 4+12^ 2+1*2^0
思路:
輸入用字串承接,再依次取用.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m = input.nextInt();
String n = input.next();
System.out.printf("%c*%d^%d",n.charAt(0),m,n.length()-1);
for (int i = 1; i < n.length();i++){
if (n.charAt(i) != '0'){
System.out.printf("+%c*%d^%d",n.charAt(i),m,n.length()-1-i);
//冪爲從後往前數,故冪爲:長度-1-i;
}
}
}
}