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

输入
每行输入一个n值(n不超过100),表示牌的总张数.

输出
对应的原始排列次序.

样例输入
15
14
13
样例输出
1 11 2 8 7 3 13 9 6 4 15 14 12 10 5
1 5 2 14 12 3 11 7 8 4 6 13 10 9

1 8 2 5 10 3 12 11 9 4 7 6 13

思路:照着题目模拟即可,只是需要注意下循环的时候如果超过n则取余n即可

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;int main()
{int n,j,sum,vis[105];while(scanf("%d",&n)==1){memset(vis,0,sizeof(vis)); //判断是否走过该点并存储对应数字vis[1]=1;for(int i=2; i<=n; i++){sum=0;if(i==2)j=1;for(;sum<=i-1;j++){if(j>n) j=j%n;if(vis[j]==0)sum++;}vis[j-1]=i;if(j-1>n) j=(j-1)%n;else j=j-1;}for(int i=1; i<=n; i++){if(i==n)printf("%d\n",vis[i]);elseprintf("%d ",vis[i]);}}return 0;
}

HNUST 1231 趣味程序设计_猜牌术(-)相关推荐

  1. 18【C语言 趣味算法】“猜牌术”问题

    目录 一.Review 二.New Problem 2.1 Problem description and problem analysis 2.2 Algorithm analysis 2.3 De ...

  2. 2.5趣味数学之猜牌术

    1.问题描述 2.问题分析 3.算法分析 4.程序框架 5.完整程序 int main(int argc, const char * argv[]) { int a[14]={};//存放牌 int ...

  3. HNUST 1231:猜牌术(水....)

    1231: 趣味程序设计_猜牌术(-) 时间限制: 1 Sec  内存限制: 128 MB 提交: 177  解决: 72 [提交][状态][讨论版] 题目描述 魔术师利用一幅牌中13张黑桃,预先将它 ...

  4. C语言趣味问题系列【1】 猜牌术

    1. 问题描述 猜牌术 一副牌中有13张黑桃,将这副牌整理好为一叠,牌面朝下. 第一次出牌,翻开最上面的那张牌,翻过来的正好是黑桃A,抽出黑桃A放在这叠牌的最底下成为最后一张. 第二次出牌,按顺序从上 ...

  5. 算法_数学问题_Question8_猜牌术(java实现)

    这篇文章讲述的是算法初级部分的猜牌术问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的<c语言趣味编程1000例>,如有错误或者不当之处,还望各位大神批评指正. 问题描述 魔 ...

  6. 魔术师利用一副牌中的13张红桃c语言,魔术师的猜牌术(1) 魔术师利用一副牌中的13张黑桃 - 下载 - 搜珍网...

    魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一 起,牌面朝下.对观众说:我不看牌,只数数就可以猜到每张牌 是什么,我大声数数,你们听,不信?你们就看.魔术师将最上 面的那张牌数为1,把它翻过来 ...

  7. 趣味程序设计_出售金鱼

    1228: 趣味程序设计_出售金鱼 题目描述 令狐冲将养的一缸金鱼分5次出售:第1次卖出全部的一半加1/2条:第2次卖出余下的三分之一加1/3条:第3次卖出余下的四分之一加1/4条:第4次卖出余下的五 ...

  8. 1228: 趣味程序设计_出售金鱼

    1228: 趣味程序设计_出售金鱼 题目描述 令狐冲将养的一缸金鱼分5次出售:第1次卖出全部的一半加1/2条:第2次卖出余下的三分之一加1/3条:第3次卖出余下的四分之一加1/4条:第4次卖出余下的五 ...

  9. 魔术师的猜牌术(一维数组) C++程序

     魔术师的猜牌术(一维数组) 魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下 .对观众说:我不看牌, 只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看. 魔术师 ...

最新文章

  1. Linux的僵尸进程
  2. java实现将一个正整数分解质因数,Java将一个正整数分解质因数
  3. php根据设备判断访问,PHP判断设备访问来源
  4. 防止html网页被f12抓取,JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码...
  5. svm支持向量机分类方法
  6. 烽火吉比特HG261GU获取超级密码教程
  7. 集成随机惯性权重和差分变异操作的樽海鞘群算法
  8. 微讲师录课软件下载、录屏软件下载
  9. 传真机接收不到传真故障检查思路
  10. 在你学习计算机的路上,哪些书籍对你的帮助最大?
  11. 计算机ppt实验报告总结怎么写,ppt实验报告总结.doc
  12. 免费高效的WhatsApp助手
  13. Rethinking Visual Geo-localization for Large-Scale Applications 论文阅读CosPlace
  14. 【第二节】HTML5小实例
  15. matlab产生泊松分布
  16. 10个办公必备神器PPT网站,免费!!!
  17. 圣诞小程序服务器,微信圣诞帽2018小程序_微信圣诞帽头像自动换预约_第一手游网...
  18. 协调世界时转换为GPS周秒(转载)
  19. python抓取网页表格数据
  20. 计算机中通道的基本功能,Photoshop中各个面板的基本功能介绍 -电脑资料

热门文章

  1. mybatis的left join多条件操作
  2. 我是怎么提升写作能力的
  3. 我的软件之自动更新程序
  4. 超详细总结,带你实现 Linux 命令自由
  5. js中every用法_Javascript Array.every()方法
  6. Windows program design读书笔记第2章
  7. 异地备份工具_5个有用的Amazon S3备份工具
  8. 【浏览器】1219- 换一种风格理解 Chrome 浏览器渲染全过程
  9. 公交充值之——北京一卡通过期延期操作
  10. php 生成各种文件格式