(百例编程)69.魔术师的猜牌术(1)_foolbread的博客-程序员秘密

技术标签: 经典百题  编程  

题目:魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下。
对观众说:我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?
你们就看。魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,将黑桃A放在
桌子上,然后按顺序从上到下数手上的余牌,第二次数1、2,将第一张牌放在这迭牌的
下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前
面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3。这样依次进行将13张牌全
翻出来,准确无误。问魔术师手中的牌原始顺序是怎样安排的?
//题目:魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下。
/*对观众说:我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?
你们就看。魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,将黑桃A放在
桌子上,然后按顺序从上到下数手上的余牌,第二次数1、2,将第一张牌放在这迭牌的
下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前
面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3。这样依次进行将13张牌全
翻出来,准确无误。问魔术师手中的牌原始顺序是怎样安排的?*/
//BY as1138 2011-10-16

#include <iostream>
#include <queue>
using namespace std;

int main(void)
{
	queue<int> iQue;
	int ite[13];
	int len = 0;
	int tem;
    int tj;

	for (int i=0;i!=13;++i)
	{
		iQue.push(i);
	}

    for (int j=1;j!=14;++j)
	{
		len = iQue.size();
		tj = j;
		if (j>len)
		{
			if(j%len == 0)
				tj = len;
			else
			    tj = j%len;
		}
		for(int n=1;n<tj;++n)
       {
		    tem =iQue.front();
			iQue.pop();
		   iQue.push(tem);
       }
		tem = iQue.front();
		iQue.pop();
		ite[tem] = j;
	}

	int m = 0;
	while (m != 13)
	   cout<<ite[m++]<<" ";
	cout<<endl;
	
   return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/csy981848153/article/details/7650140

智能推荐

宝来客:都在说品牌年轻化,究竟要怎么做?_宝物志的博客-程序员秘密

随着消费主力人群的迁移,越来越多的品牌开始探讨“营销年轻化”。不管是刚刚创立的潮牌,还是历史悠久的老字号,都想通过更新鲜、更有趣的传播方式去拉近与年轻消费者的距离、建立更有效地沟通与联系。对于传统珠宝业而言,这条路走起来并不容易。从早期的老店新开,重新设计店面风格,到后来的大玩跨界,与时下的潮流元素结合,它们一直在路上,也一直在突破。2020年的特殊情况让消费者对于珠宝等非必需消费品的购买欲走向低迷,但中国本土的几大珠宝巨头依然做出了一系列行动。老凤祥——营销主题年轻化作为百年民族品牌的老凤祥,其自1

vivoy73s和oppoK7哪个好?_oppok7和vivoy73s哪个好_sinat_50517307的博客-程序员秘密

vivo Y73s手机的尺寸是161mm×74.04mm×7.73mm,机身的重量是171.3g,手机目前具有黑镜和银月两种配色存在,采用屏幕指纹识别和面部识别,是相当轻薄的手机,可以给用户带来出色的手感。vivo手机爆降600这活动太给力了 机会不容错过https://www.vivo.com.cnoppoK7更多使用感受和评价:https://www.oppo.com/k7OPPO K7采用3D曲面玻璃,配合20:9修长屏幕,整机厚度7.96mm、重量约180g搭载6.4英寸OLED屏幕,运用3

如何在新兴市场收获成功?_谷歌开发者的博客-程序员秘密

作者 / Adi Haddad, Business Development Manager, Google Play如今,所有的 Android 新用户中有三分之二来自新兴市场 *。如果...

Redis启动服务和String常用命令_redis 启动服务命令_昂蒂梵德的博客-程序员秘密

Redis启动服务和String常用命令1. 启动Redis服务E:\redis&gt;redis-server.exe redis.windows.conf _._ _.-``__ &#39;&#39;-._ _.-`` `. `_. &#39;&#39;-._ Redis 3.0.504 (00...

dialogFragment设置背景 为透明_粗鲁先生的博客-程序员秘密

添加如下代码就ok了 getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

单例模式—饿汉式、懒汉式 超详细解析_单例模式饿汉式和懒汉式_HaoZz_96的博客-程序员秘密

【单例模式】:一个类在Java虚拟机中只有一个对象,并提供一个全局访问点,使对象具有了唯一性举例:数据库连接对象、线程池、缓存、日志对象创建方式:懒汉式、饿汉式【懒汉式】class HungrySingleton{ private static HungrySingleton hungry = new HungrySingleton(); private HungrySingleton(){}; public static HungrySingleton getInstanc

随便推点

Python操作mysql数据库(封装基本的增删改查)_工程师WWW的博客-程序员秘密

新学Python,在这里分享操作MySQL的全过程1、安装MySQL-python-1.2.3.win-amd64-py2.7.exe,这是操作mysql数据库的python库,有32位和64位之分,看自机器下载2、64位机器安装MySQL-python-1.2.3.win-amd64-py2.7.exe出现 which was not found the regidtry,请点这

Java中关于子类成员变量与父类成员变量同名_子类可以和父类成员变量同名吗_IT_Talon的博客-程序员秘密

重写和重载是针对方法的,子类的变量可以覆盖父类的变量,但是不能改变父类的变量。

Pat乙级1018题——锤子剪刀布(Python)_coder_wu的博客-程序员秘密

注意是要计算获胜次数最多的手势,而不是出的次数最多的手势。代码如下,感觉比较累赘。def cjb(): count = int(raw_input()) a = [] b = [] for i in range(count): str = raw_input() a.append(str[0]) b.app...

精通MVC3摘译(9)-过滤器_weixin_34411563的博客-程序员秘密

Filter在请求管道注入额外的逻辑。他们提供简单优雅的方法实现横切点关注。这个术语指的是在穿越整个应用程序中使用,而且不适合使用在任何单独的地方,所以这会打破关注模式的分离。经典的横切点关注的例子比如日志,认证,缓存。Filter也被认为是横切点关注,因为这个术语在其他web application框架,包括Ruby也是实现同样功能。然而MVC Fr...

pyinstaller安装_pyinstaller只安装必须的库_LLLBeauty的博客-程序员秘密

@小知识pyinstaller安装(windows)出错:刚开始我用了cmd下的pip命令,结果安装失败,(可能是我没有以管理员的权限运行cmd。更正:自己从官网下载了pyinstaller安装包zip,然后解压,最后在cmd下进入解压后的目录里,使用 python setup.py install 命令安装成功!...

CF776B Sherlock and his girlfriend_dcaqnjmx39255的博客-程序员秘密

DescriptionSherlock has a new girlfriend (so unlike him!). Valentine's day is coming and he wants to gift her some jewelry.He boughtnpieces of jewelry. Thei-th piece has price equal toi...

推荐文章

热门文章

相关标签