HNUST 1231 趣味程序设计_猜牌术(-)
题目描述
魔术师利用一幅牌中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 趣味程序设计_猜牌术(-)相关推荐
- 18【C语言 趣味算法】“猜牌术”问题
目录 一.Review 二.New Problem 2.1 Problem description and problem analysis 2.2 Algorithm analysis 2.3 De ...
- 2.5趣味数学之猜牌术
1.问题描述 2.问题分析 3.算法分析 4.程序框架 5.完整程序 int main(int argc, const char * argv[]) { int a[14]={};//存放牌 int ...
- HNUST 1231:猜牌术(水....)
1231: 趣味程序设计_猜牌术(-) 时间限制: 1 Sec 内存限制: 128 MB 提交: 177 解决: 72 [提交][状态][讨论版] 题目描述 魔术师利用一幅牌中13张黑桃,预先将它 ...
- C语言趣味问题系列【1】 猜牌术
1. 问题描述 猜牌术 一副牌中有13张黑桃,将这副牌整理好为一叠,牌面朝下. 第一次出牌,翻开最上面的那张牌,翻过来的正好是黑桃A,抽出黑桃A放在这叠牌的最底下成为最后一张. 第二次出牌,按顺序从上 ...
- 算法_数学问题_Question8_猜牌术(java实现)
这篇文章讲述的是算法初级部分的猜牌术问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的<c语言趣味编程1000例>,如有错误或者不当之处,还望各位大神批评指正. 问题描述 魔 ...
- 魔术师利用一副牌中的13张红桃c语言,魔术师的猜牌术(1) 魔术师利用一副牌中的13张黑桃 - 下载 - 搜珍网...
魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一 起,牌面朝下.对观众说:我不看牌,只数数就可以猜到每张牌 是什么,我大声数数,你们听,不信?你们就看.魔术师将最上 面的那张牌数为1,把它翻过来 ...
- 趣味程序设计_出售金鱼
1228: 趣味程序设计_出售金鱼 题目描述 令狐冲将养的一缸金鱼分5次出售:第1次卖出全部的一半加1/2条:第2次卖出余下的三分之一加1/3条:第3次卖出余下的四分之一加1/4条:第4次卖出余下的五 ...
- 1228: 趣味程序设计_出售金鱼
1228: 趣味程序设计_出售金鱼 题目描述 令狐冲将养的一缸金鱼分5次出售:第1次卖出全部的一半加1/2条:第2次卖出余下的三分之一加1/3条:第3次卖出余下的四分之一加1/4条:第4次卖出余下的五 ...
- 魔术师的猜牌术(一维数组) C++程序
魔术师的猜牌术(一维数组) 魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下 .对观众说:我不看牌, 只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看. 魔术师 ...
最新文章
- Linux的僵尸进程
- java实现将一个正整数分解质因数,Java将一个正整数分解质因数
- php根据设备判断访问,PHP判断设备访问来源
- 防止html网页被f12抓取,JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码...
- svm支持向量机分类方法
- 烽火吉比特HG261GU获取超级密码教程
- 集成随机惯性权重和差分变异操作的樽海鞘群算法
- 微讲师录课软件下载、录屏软件下载
- 传真机接收不到传真故障检查思路
- 在你学习计算机的路上,哪些书籍对你的帮助最大?
- 计算机ppt实验报告总结怎么写,ppt实验报告总结.doc
- 免费高效的WhatsApp助手
- Rethinking Visual Geo-localization for Large-Scale Applications 论文阅读CosPlace
- 【第二节】HTML5小实例
- matlab产生泊松分布
- 10个办公必备神器PPT网站,免费!!!
- 圣诞小程序服务器,微信圣诞帽2018小程序_微信圣诞帽头像自动换预约_第一手游网...
- 协调世界时转换为GPS周秒(转载)
- python抓取网页表格数据
- 计算机中通道的基本功能,Photoshop中各个面板的基本功能介绍 -电脑资料