取一幅扑克牌中所有的方块,
按A、2、3、4、5、6、7、8、9、10、J、Q、K的顺序从上至下排好,
并按下面的要求逐一取走牌:
翻出最上面的一张,放在一旁,把上面的一张牌放到这叠牌的最下面;
然后再翻开最上面的一张牌,放在一旁,再把上面的一张牌放到最下面;
重复上述过程,直到翻完最后一张牌。
按照顺序输出每次放在一旁的牌的牌面。
[Python]
def card(n):
if n == 1:
return 'A'
elif n == 11:
return 'J'
elif n == 12:
return 'Q'
elif n == 13:
return 'K'
else:
return n
linked = []
for i in range(12):
linked.append([i+1, i+1])
linked.append(_____(1)_____)
precedent = 12
b=[]
for i in range(13):
current = _______(2)_________
b.append(card(_____(3)__________))
_____(4)________=linked[current][1]
_____(5)________= linked[precedent][1]
print("lastcard:",b[-1],sep='')
for i in range(len(b)):
print(b[i],end=' ')
[C++]
#include<iostream>
using namespace std;
const string cards = "A23456789 JQK";
int link[20], take[20];
int precedent, current;
void print(int x)
{
if(x == ___(1)____)cout << "10 ";
else
cout << cards[x-1] << " ";
}
int main( )
{
for(int i=1; i < 13; i++)
link[i] = i+1;
link[13] = ____(2)____;
precedent = 13;
for(int i = 1; i <= 13; i++)
{
current = _____(3)_____;
take[i] = _____(4)_____;
_____(5)_____ = link[current];
_____(6)_____ = link[precedent];
}
cout << "lastcard:";
print(precedent);
cout << endl;
for(int i = 1; i <= 13; i++)
print(____(7)_____);
cout << endl;
return 0;
}