import java.util.Scanner;
public class Main {
public static void Mi(int num) {
int flag = -1;
if(num == 1) {
System.out.print("2(0)");
return;
}
if(num == 2) {
System.out.print("2");
return;
}
for(int i = 0;i < 15;i++) {
if(num >= Math.pow(2, i) && num < Math.pow(2, i + 1)) {
flag = i;
break;
}
}
if(flag == -1) {
return;
}else if(flag == 0) {
System.out.print("2(0)");
}else if(flag == 1) {
System.out.print("2");
}else {
System.out.print("2(");
Mi(flag);
System.out.print(")");
}
if((int)(num - Math.pow(2 , flag)) == 0) {
return;
}else {
System.out.print("+");
Mi((int)(num - Math.pow(2 , flag)));
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
Mi(num);
}
}
蓝桥杯 算法训练 幂方分解
最新推荐文章于 2021-08-13 12:08:09 发布