pku1906.java

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· Java 代码 · 共 49 行

JAVA
49
字号
import java.io.*;
import java.util.*;
import java.math.BigInteger;
public class Main
{
	public static void main(String args[]) throws Exception
	{
		Scanner cin=new Scanner(System.in);
		BigInteger bi[]=new BigInteger[64];
		boolean use[]=new boolean[64];
		int i;
		boolean t;
		long n;
		long n2[]=new long[64];
		n2[0]=1;
		for(i=1;i<64;i++) n2[i]=n2[i-1]*2;
		bi[0]=new BigInteger("1");
		for(i=1;i<64;i++) bi[i]=bi[i-1].multiply(BigInteger.valueOf(3));
		while(true)
		{
			n=cin.nextLong();
			if(n==0) break;
			for(i=0;i<64;i++) use[i]=false;
			n-=1;
			for(i=62;i>=0&&n!=0;i--)
			{
				if(n>=n2[i])
				{
					n-=n2[i];
					use[i]=true;
				}
			}
			t=false;
			System.out.print("{");
			for(i=0;i<63;i++)
			{
				if(use[i])
				{
					if(t)System.out.print(",");
					System.out.print(" "+bi[i]);
					t=true;
				}
			}
			System.out.println(" }");
			
		}
	}
}

⌨️ 快捷键说明

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