zoukankan      html  css  js  c++  java
  • 魔术师的猜牌术

    魔术师再次表演,他将红桃和黑桃全部迭在一起,牌面朝下放在手中,对观众说:最上面一张是黑桃A,翻开后放在桌上。以后,从上至下每数两张全依次放在最底下,第三张给观众看,便是黑桃2,放在桌上后再数两张依次放在最底下,第三张给观众看,是黑桃3。如此下去,观众看到放在桌子上牌的顺序是:
    黑桃 A 2 3 4 5 6 7 8 9 10 J QK
    红桃 A 2 3 4 5 6 7 8 9 10 J QK
    问魔术师手中牌的原始顺序是什么?

    分析:
      原始牌看成一个圈,圈上有26个空位,已知第一个是b1,然后按一定顺序,往后数空位,第三个空位就是下一张牌,牌点数依次增加·,判断前13还是后13,输出时直接输出。

    代码:

      

    #include<iostream>
    
    using namespace std;
    int main(){
        int a[26]={0},num = 1,time = 2;//time表示目前出现过几次空
        for(int i = 0 ;i < 26;i++){
            if(a[i] == 0){
                if(time == 2){
                    a[i] = num;
                    time = 0;
                    num++;
                }else{
                    time++;
                }
            }
            if(num <= 26 && i >= 25){
                i = 0;//形成环形,未填满就继续填
            }
        }
        for(int i = 0;i < 26;i++){
       //     cout << a[i] << endl;
            if(a[i] > 13){
                if(a[i] == 26)
                    cout << "r13" << endl;
                else
                    cout << "r" << a[i] % 13 << endl;
            }else{
                cout << "b" << a[i] << endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    第三周作业
    第二周作业
    计算机基础学习心得
    第三次作业
    第2次作业(指针总结)
    2018(上)C高级第0次作业
    本学期最后一次作业 总结。
    第十四、十五周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/gudygudy/p/10472291.html
Copyright © 2011-2022 走看看