//已知某月的总数据和天数,却不知每天的具体数据,打算虚拟时可采用如下代码
public static void main(String[] args) {
xn(35050,31,300);
}
//toatl总数,day天数,fl_oat浮动范围
public static void xn(int total,int day,int fl_oat){
int i1 = total / day;
int min=i1-fl_oat;int max=i1+fl_oat;
int sum=0;
List<Integer>nums= new ArrayList<>();
for(int k=0;k<day;k++) {
int i = (int) (Math.random() * max) + min;
nums.add(i);
sum+=i;
}
int zz=sum-total;
int pp = 0-(zz / day);
int sum1=0;
for (Integer xx:nums){
sum1+=xx+pp;
}
int i = total - sum1;
int sum2=0;
int count=Math.abs(i);
int cc=i/count;
for (Integer xx:nums){
if(count-->0){
System.out.println(xx+pp+(cc));
sum2+=xx+pp+(cc);
}else {
System.out.println(xx+pp);
sum2+=xx+pp;
}
}
System.out.println(sum2+";"+total);
}