京东众筹抽奖算法


public class JDRoll {
public static void main(String[] args) {
System.out.println("单行输入,用空格隔开!");
System.out.println("双色球最大、最小、蓝色、参与人数、获奖名额:");
Scanner scan = new Scanner();
//双色球最大最小及蓝色球A
String aStr = scan.next() + scan.next() + scan.next();
int a = Integer.valueOf(aStr);
System.out.println("A: " + a);
//人数N
String nStr = scan.next();
int n = Integer.valueOf(nStr);
System.out.println("N: " + n);
//名额P
String pStr = scan.next();
int p = Integer.valueOf(pStr);
System.out.println("P: " + p);
//人数N除以名额P,取商B
int b = n/p;
System.out.println("N / P = B: " + b);
//A除以B,余数为首个中奖号X
int x = a%b;
System.out.println("A % B = X: " + x);
int[] rs = new int[p];
rs[0] = x;
//其他中奖号X+B,X+2B,X+3B,......,X+(P-1)B
int i = 1;
while(i < p) {
rs[i] = x + i*b;
++i;
}
for (int j = 0; j < p; ++j) {
System.out.println("第" + (j+1) + "个中奖号码为:" + rs[j]);
}
}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值