京东众筹抽奖算法(转载娱乐)
无聊看到京东众筹的抽奖算法,就简单的实现了下,依据第三版抽奖规则编写的:http://zbbs.jd.com/thread-399-1-1.htmlJDRoll.png
JDRoll.javaimport java.util.Scanner;
public class JDRoll {
public static void main(String[] args) {
System.out.println("单行输入,用空格隔开!");
System.out.println("双色球最大、最小、蓝色、参与人数、获奖名额:");
Scanner scan = new Scanner(System.in);
//双色球最大最小及蓝色球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;
rs = x;
//其他中奖号X+B,X+2B,X+3B,......,X+(P-1)B
int i = 1;
while(i < p) {
rs = x + i*b;
++i;
}
for (int j = 0; j < p; ++j) {
System.out.println("第" + (j+1) + "个中奖号码为:" + rs);
}
}
}
页:
[1]