题意:现在给出一个十进制的数,将这个数分为n个数使得这些数当成11进制最大
思路:首先没一个数都赋予1,然后将剩下的赋给ans[1],然后使得后面的数尽可能是10^n
代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.*;
public class Main {
static Scanner scanner=new Scanner(System.in);
public static void main(String[] args) {
int t=scanner.nextInt();
while(t-->0) {
int s=scanner.nextInt();
int n=scanner.nextInt();
int ans[]=new int [n+1];
ans[1]=s-n+1;//先把所有的位置给上一个最小的数
for(int i=2,add=999999999;i<=n;++i) {//分配最大可以给的数
ans[i]=1;
while(ans[1]<=add)add/=10;
ans[1]-=add;
ans[i]+=add;
}
StringBuilder sb=new StringBuilder();
for(int i=1;i<=n;i++)sb.append(ans[i]+" ");
System.out.println(sb);
}
}
}