⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4082868_ac_157ms_2224k.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 JAVA
字号:
import java.util.Scanner;
import java.util.LinkedList;
import java.util.Collections;

public class Main {
	private Scanner in;
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Main().run();
	}
	
	private void run() {
		in = new Scanner(System.in);
		int t;
		long []num = new long[40];
		
		num[0] = 1;
		for (int i = 1; i < 40; i++) {
			num[i] = (num[i - 1] + 1) * 2 - 1;
		}
		t = in.nextInt();
		LinkedList <Integer> ans = new LinkedList <Integer> ();
		while (t-- != 0) {
			long n = in.nextLong();
			ans.clear();
			System.out.print(Long.toString(n) + " [");
			if (n == 0) {
				System.out.println("]");
				continue;
			}
			while (n != 0) {
				for (int i = 0; ;i++) {
					if (num[i] <= n && num[i + 1] > n) {
						ans.add(i);
						n -= num[i];
						break;
					}
				}
			}
			Collections.sort(ans);
			for (int i = 0; i < ans.size(); i++) {
				System.out.print(ans.get(i));
				if (i == ans.size() - 1) {
					System.out.println("]");
				} else {
					System.out.print(",");
				}
			}
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -