首页 > 其他分享 >5.15 2.8

5.15 2.8

时间:2023-05-15 19:46:33浏览次数:35  
标签:13 空盒子 魔术师 计数 黑桃 2.8 5.15 放入

一、问题

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

二、分析

 13 个空盒子排成一圈,

设定其中一个盒子序号为 1,将黑桃 A 放入1号盒子中,接着从下一个空盒子开始重新计数,当数到第 2个空盒子时,将黑桃2放入其中。然后再从下一个空盒子开始重新计数,数到第3 个空盒子时,将黑桃3 放入其中,这样依次进行下去,直到将 13 张牌全部放入空盒子中为止。需要注意的是,在计数过程中要跳过那些已放入牌的盒子,而只对空盒子计数。最后牌在盒子中的顺序,就是魔术师手中牌的顺序。

使用循环结构,循环 13 次,每次循环时找到与牌序号对应的那个空盒子,因此循环体完成的功能就是找到对应的空盒子将牌存入。

三、代码

#include<iostream>
using namespace std;
int a[14];
int main()
{
int i,j=1,n;
cout<<"魔术师手中的牌原始次序是:"<<endl;
for(i=1;i<=13;i++)
{
n=1;
do
{
if(j>13)
j=1;
if(a[j])
j++;
else
{
if(n==i)
a[j]=i;
j++;
n++;
}
}while(n<=i);
}
for(i=1;i<=13;i++)
cout<<a[i];
cout<<endl;
}

四、结果

 

标签:13,空盒子,魔术师,计数,黑桃,2.8,5.15,放入
From: https://www.cnblogs.com/yindantong/p/17402865.html

相关文章

  • 5.15
    #include<stdio.h>voidmain(){longmul,number,k,a,b;printf("Itexistsfollowingautomorphicnmberssmallthan100000:\n");for(number=0;number<100000;number++){for(mul=number,k=1;(mul/=10)>0;k*=10);a=k*10;mul=0;b=10;while(k>0){mul=......
  • 算法基础上机实验——2023.5.15
    1.#include<cmath>#include<cstdio>#include<iostream>#include<algorithm>usingnamespacestd;intmain(){inta[310],n,k=0;cin>>n;while(n!=-99999){a[k++]=n;cin>>......
  • 编程一小时2023.5.15
    1.#include<bits/stdc++.h>usingnamespacestd;boolbook[10000001];intprime[100001];intt=1;voidPrime(intx){memset(book,0,sizeof(book));for(inti=2;i<=x;i++){if(!book[i])prime[t++]=i;for(intj=1;prime[j]<=x/i;j++){......
  • 5.15总结
    packagecom.mf.jdbc;importcom.mysql.jdbc.Driver;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;/**JDBC的快速入门--ResultSet*/publicclassJDBCDemo{publicvoidJDBCDemo()throwsExcep......
  • TinyMCE 6 编辑器+ Layui 2.8.2+单页面
    TinyMCE6编辑器+Layui2.8.2 拓展 tinymce.js目录结构  layui.define(function(exports){vart={};//初始化t.bulid=function(options){if(typeoftinymce=='undefined'){varscript=document.cr......
  • 浅谈Kafka2.8+在Windows下的搭建与使用
    前言:    周末空闲时间无意找到了一套个性化推荐的源码,整体项目运用了SSH,HDFS,Flume,Hive,Kafka,Spark,Scala等。运行时,本来通过spark计算业务埋点数据时,却发现本地没有Kafka。因为我一直也没使用过Kafka,所以也作为新人,浅谈以下Kafka的环境安装与分别在PHP,Scala中的使用。 对比:1......
  • Layui 2.8.0 正式发布,官网全新文档站朴实归来
    前言两年前Layui官网宣布了下线声明,说实话当时内心确实感慨万千毕竟这个免费为我们后端程序员提供的一个前端快熟开发框架的官网就这样下线了确实十分的惋惜,但是庆幸的是官网的下线,只是单纯一个网站自身生命周期的结束,它并不意味着Layui这样一个开源项目的停更,Layui仍然......
  • 2.8魔术师的秘密
    1.题目描述:魔术师利用一幅牌中的13张黑桃,预先将他们排好后迭在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么。魔术师将最上面的那张牌数为1,把他翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序数1,2,将数的1放到牌的最后面,然后第二张翻过来正好是2,以......
  • Qt5.15.0 升级至 Qt5.15.9 遇到的一些错误
    按照之前我写的文章教程,可以很简单的编译出静态库(仅供学习交流)编译windows上的qt静态库编译出静态库后,替换旧版本的库,见我另一篇文章教程VS2019配置QT库之所以没有直接上Qt6.0以上的版本,是因为Qt6.0对比Qt5删减了不少东西(我之前已经测试过了),这就导致项目要有......
  • 操作系统(2.8.1)--线程的实现方式
    1.内核支持线程(KST)内核支持线程,与进程相同,是在内核的支持下运行的,即无论是用户进程中的线程,还是系统进程中的线程,他们的创建、撤消和切换等也是依靠内核,在内核空间实现的。这种线程实现方式主要有如下四个优点:(1)在多处理器系统中,内核能够同时调度同一进程中多个线程并行执行(2)如......