即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

蓝桥杯-纸牌移动

编程语言 qq_34789775 18℃ 0评论

下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。

操作过程是:


手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,….


如此循环操作,直到剩下最后一张牌也放在桌子上。

下面代码的目的就是为了求出最后桌上的牌的顺序。

初始的排列如果是A,2,3…K,则最后桌上的顺序为:


[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]

package 二〇一七年三月二十四日;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class 纸牌移动 {
    public static void main(String[] args) {

        int n = 4, avg = 0, s = 0;

        List list = new ArrayList();
        list.add(8);list.add(9);list.add(17);list.add(6);

        for (int i = 0; i < list.size(); i++) {
            avg += list.get(i);     //全部相加
        }   
        avg = avg / list.size();    //得到平均数

        for (int i = 0; i < list.size() - 1; i++) {
            s++;
            list.set(i + 1, list.get(i + 1) + list.get(i) - avg);
        }
        System.out.println("s:" + s);
    }
}

转载请注明:CodingBlog » 蓝桥杯-纸牌移动

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情