大概讲的是一òq…扑克牌åQŒå››¿U花色从Aã€?ã€åˆ°KåQŒæ¯¿U花è‰?3å¼ ï¼Œä¸€å…?2å¼ ï¼Œä¸€å¼€å§‹æ¯¿UèŠ±è‰²çš„æŒ‰é¡ºåºæ‘†æ”¾ï¼Œç„¶åŽ˜q›è¡Œ‹z—牌åQšåˆ†æˆ?åŠï¼Œž®†ä¸€åŠçš„½W¬ä¸€å¼ 放到å¦ä¸€åŠçš„½W¬ä¸€å¼ 下é¢ï¼Œ½W?å¼ æ”¾åˆ°å¦ä¸€åŠçš„½W?å¼ ä¸‹é¢ï¼Œç›´åˆ°ä¸€åŠçš„æ‰€æœ‰ç‰Œéƒ½æ”¾åˆ°å¦ä¸€åŠçš„下é¢åQŒä¸€‹Æ¡æ´—牌完æˆï¼Œé—®è‡³ž®‘見z—多ž®‘次牌æ‰èƒ½æ¢å¤æˆåŽŸæ¥çš„顺åºã€?br /> å‡è®¾ž®†è¿™52å¼ ç‰ŒæŽ’å¥½åºï¼Œåˆ†åˆ«ä¸?åˆ?2åQŒåˆ™1åˆ?3ä¸ÞZ¸€ä¸ªèбè‰ÔŒ¼Œ14åˆ?6ä¸ÞZ¸€ä¸ªèбè‰ÔŒ¼Œ27åˆ?9一å…Þpбè‰ÔŒ¼Œ40åˆ?2ä¸ÞZ¸€ä¸ªèŠ±è‰ŒÓ€‚å‡è®¾æ´—牌之å‰ç‰Œçš„åºå·äØ“iåQŒç»˜q‡ä¸€‹Æ¡æ´—牌过åŽï¼Œ1åˆ?3åºå·çš„牌分到äº?åˆ?5åQŒåˆ™‹z—牌˜q‡åŽçš„åºå·äØ“2i-1åQ?4åˆ?6åºå·çš„牌被分åˆ?7åˆ?1åQŒæ´—牌过åŽçš„åºå·ä¸?(i-13) - 1 + 26åQ?7åˆ?9的牌分到äº?åˆ?6åQŒæ´—牌过åŽçš„åºå·ä¸?(i - 26) åQ?0åˆ?2åºå·çš„牌被分åˆ?8åˆ?2åQŒæ´—牌过åŽçš„åºå·ä¸?nbsp;2(i - 39) + 26ã€?br /> ç”¨ä»£ç æ¥è¡¨ç¤ºž®±æ˜¯
public static List<Integer> nextResult(List<Integer> list){ // return array
Integer[] retArray = new Integer[52];
// array index
int index = 0;
for(int i=1;i<list.size()+1;i++){
if(i<=13){
index = 2 * i -1;
} else if(i >13 && i <= 26){
index = 2 * (i-13) - 1 + 26;
}else if(i >26 && i <= 39){
index = (i - 26) * 2;
}else if(i >39 && i <= 52){
index = (i - 39) * 2 + 26;
}
retArray[index-1] = list.get(i-1);
}
return Arrays.asList(retArray);
}
在mainæ–ÒŽ³•é‡Œï¼Œç”¨ä¸‹é¢æ–¹å¼çš„numä¾¿æ˜¯æ‰€è¦æ±‚的最ž®æ´—牌次æ•?br /> List<Integer> list = new ArrayList<Integer>();
for(int i=1;i<53;i++){
list.add(i);
}
// change num
int num = 0;
List<Integer> list1 = list;
while(true){
num++;
List<Integer> retList = nextResult(list1);
if(list.equals(retList)){
break;
}
list1 = retList;
}

]]>