zoukankan      html  css  js  c++  java
  • 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++。我要好好学习,天天向上!

    再也不颓废!

    再也不颓废!

    再也不颓废!

  • 相关阅读:
    mvc 注册脚本的其他方法
    如何将html代码转换为Xml并生成Dom树
    用TFIDF值来判断词的重要性
    oem key
    vs2010 下的ado.net 实体模型创建数据库时datetime 类型的问题
    asp.net mvc 动态注册脚本
    ASP.NET 中如何对生成的 HTML 内容流进行控制
    C# 子窗体调用父窗体的方法
    layui 弹出新页面
    winform excel导入进度条
  • 原文地址:https://www.cnblogs.com/zxjhaha/p/11093884.html
Copyright © 2011-2022 走看看