ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

论c++的用处

2019-06-26 21:39:35  阅读:256  来源: 互联网

标签:牌堆 颓废 放到 c++ 撕掉 哈根达斯 用处


  

  以前,我没觉得c++除了打NOIP以外有其它用处。就算有也得要很久以后。直到我靠c++“讹”了一顿哈根达斯。中考放假,我上了一个数学班。某节课的最后,老师出了一道思考题,并放出豪言说谁做出来请谁吃哈根达斯。

 具体题目

  一摞扑克牌按如下顺序摆放成一落

 

 将20副牌按此顺序摆成一摞。紧接着,拿起第一张撕掉,第二张放到牌堆最底部。拿起第三张撕掉,第四张放到牌堆最底部。拿起第五张撕掉,第六张放到牌堆最底部。以此类推。请问最后一张牌是什么?

全班都沸腾了,尽管下了课。但还是有好多人留在教室里做这道题。但全部失败,我也一样。突然,我想到了一个作弊器———c++。有了它,为什么要找规律?直接枚举就好了。

代码

非常简单,队列模拟牌堆,分别将里面的元素0到1079(20副牌总张数-1)编号。一轮循环撕牌,一轮放到牌堆底部。直到队列长度为1,输出结果%54+1.再一张一张数。(不会队列的看https://www.cnblogs.com/zxjhaha/p/11069151.html)

#include<bits/stdc++.h>
using namespace std;
int main()
{
	queue<int> q;
	for(int i=0;i<1080;i++) q.push(i);
	int k=0;
	while(q.size()!=1)
	{
		if(k%2==0) q.pop() //撕牌;
		else //放到牌堆底部
		{
			int tmp=q.front();
			q.pop();
			q.push(tmp);
		}
		k++;
	}
	cout<<q.front()%54+1;
	return 0;
}

  第二天,我自信满满地说出了答案。果然正确。我永远忘不了老师一脸吃惊与同学们一脸羡慕。老师兑现了他的承诺,那是我吃过的最好吃的一顿哈根达斯。但当别人问我方法时我只是微微一笑,不能暴露我压根不会用正常方法做。

  这件是令我由衷地感谢c++。我要好好学习,天天向上!

再也不颓废!

再也不颓废!

再也不颓废!

标签:牌堆,颓废,放到,c++,撕掉,哈根达斯,用处
来源: https://www.cnblogs.com/zxjhaha/p/11093884.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有