这道题是从http://blog.csdn.net/fmddlmyy/article/details/7234119#plain看来的。伐木丁丁鸟鸣嘤嘤

伐木丁丁鸟鸣嘤嘤

1. 缘起

岳父大人拿来一张去年的报纸,说有一道很难做的益智题,让我看看,就是下图中的题目:

如果这是一道正常的益智题,岳父大人既然做不出来,我是肯定做不出来的。不过看过题目后,我觉得这个题目就是一个典型的编程作业。把编程作业当作益智题,显然是个恶作剧了。下面简单介绍一下如何编程求解这道题目。

2. 我的解法

这题可以表述如下(因为第一步肯定是2011+7=2018,最后一步肯定是2017-5=2012):

已知x0 = 2018, x1=2017,

f1(x)= (x/2)+7;

f2(x)= (x+7)/2;

f3(x)= (x*3)-5;

f4(x)= (x-5)*3;

并且fa1fa2…fan(x0)= x1

a1,a2,…,an属于集合{1,2,3,4}。

求a1,a2,…,an.
用程序暴力解法如下:
// Math2012.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include <vector>
#include <set>
#include <windows.h>
using namespace std;int f1(int even)
{int ret = even / 2 + 7;return ret;
}
int f2(int odd)
{int ret = (odd + 7) / 2;return ret;
}
int f3(int input)
{int ret = (input - 5) * 3;return ret;
}
int f4(int input)
{int ret = input * 3 - 5;return ret;
}int _tmain(int argc, _TCHAR* argv[])
{int initial = 2018;int destine = 2017;//2017 674 1334 2661 892 299 584 1154 2301 772 1530 515 1016std::set<int> seed_array;std::set<int> seed_array_copy;std::set<int>::iterator it;seed_array.insert(initial);bool success = false;while (true){Sleep(50);printf("seed_array:\n");for (it = seed_array.begin(); it != seed_array.end(); ++it){int temp = *it;printf("%d\t", temp);if (temp % 2 == 0){int ret1 = f1(temp);seed_array_copy.insert(ret1);if (ret1 == destine){success = true;printf("success.\n");break;}}else{int ret2 = f2(temp);seed_array_copy.insert(ret2);if (ret2 == destine){success = true;printf("success.\n");break;}}int ret3 = f3(temp);seed_array_copy.insert(ret3);if (ret3 == destine){success = true;printf("success.\n");break;}int ret4 = f4(temp);seed_array_copy.insert(ret4);if (ret4 == destine){success = true;printf("success.\n");break;}}seed_array = seed_array_copy;seed_array_copy = std::set<int>();   printf("\n");if (success){break;}}return 0;
}

程序是一目了然的,就是最笨的穷举法。这个程序要执行好几遍,第一遍把destine = 2017, 然后就会输出下一个destine = 674, 以此类推,destine = 2017 674 1334 2661 892 299 584 1154 2301 772 1530 515 1016。见下图:

3.结束

有点无聊的题,不知道谁想出来的。

转载于:https://www.cnblogs.com/james1207/p/3362210.html

数学题还是计算机题啊相关推荐

  1. 部队计算机考试题,军队文职面试计算机题库_江苏军队人才网

    军队文职面试计算机题库_江苏军队人才网,更多关于部队文职考试面试,军转干军队文职的内容,请关注广东军转干考试网/广东人事考试网! 军队文职成绩发布时间一直是各位考生十分关注的话题,根据公告安排, -- ...

  2. 山东农商行真题计算机类,2019山东农商行招聘考试计算机题库(十六)

    为了大家能够更好的备站2019山东农商行招聘考试,中公教育小编今天给大家带来"2019山东农商行招聘考试计算机题库(十六)",希望可以帮助大家,预祝大家考试顺利! 76.以下有关W ...

  3. 专转本计算机操作题库,专转本计算机题库

    专转本计算机题库Tag内容描述: 1.1/114信息技术习题集第一章信息技术概述一.判断题1.30多年来,集成电路技术的发展,大体遵循着单块集成电路的集成度平均每1824个月翻一番的规律,这就是著名的 ...

  4. 计算机办公软件基础知识题库,银行考试试题:计算机题库-办公软件

    原标题:银行考试试题:计算机题库-办公软件 课观教育(http://www.ekeguan.com/yh/tiku/)覆盖银行行测题,金融题库,经济题库,计算机题库,财会题库,法律题库等其他银行考试题 ...

  5. 微型计算机内部安徽一词占几个字节,安徽理工大学计算机题库.doc

    安徽理工大学计算机题库 安徽理工大学计算机题库 编号题目答案1答案2答案3答案4正确答案 1下列叙述中,不属于电子计算机特点的是_____.运算速度快计算精度高高度自动化高度智能的思维方式D 2按照计 ...

  6. 只要不上网,pc机就不会感染计算机病毒,大学计算机题库——判断题.xls

    大学计算机题库--判断题,常识判断题库,逻辑判断题库,判断题题库,毛概判断题题库,公务员常识判断题库,行测常识判断题库,定义判断题库,c语言判断题库,反洗钱题库判断题 Sheet3 Sheet2 Sh ...

  7. 生产实践题目计算机,生产运作管理课后计算机题和实践题[部分]答案解析.doc

    WORD格式整理 PAGE 专业知识分享 生产运作管理课后计算机题及实践题(部分)答案 一.计算题 第四章计算题 1.一个制造厂计划在某车间旁增加一侧房,建一条新的生产线,--. 解:A方案的月运输量 ...

  8. 山东农商行真题计算机类,2019山东农商行招聘考试计算机题库(七)

    为了大家能够更好的备站2019山东农商行招聘考试,中公教育小编今天给大家带来"2019山东农商行招聘考试计算机题库(七)",希望可以帮助大家,预祝大家考试顺利! 31." ...

  9. 沈阳师范大学计算机题库,沈阳师范大学软件学院计算机学科专业基础综合历年考研真题汇编-20210607153358.docx-原创力文档...

    Pleasure Group Office[T985AB-B866SYT-B182C-BS682T-STT18] Pleasure Group Office[T985AB-B866SYT-B182C- ...

最新文章

  1. 个人项目中的WCF使用
  2. freemarker ftl模板_Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
  3. MySQLWorkbench链接MySQL数据库
  4. STL:大小写字母转换、字符转数字、char*转string(未完待续)
  5. yii学习笔记--url解析
  6. 透明计算:对当前主流计算模式的革命
  7. Excel利用宏进行VBA编程
  8. 修改自走棋服务器,多多自走棋:各种服务器区分,玩家关心问题集锦,先锋服更新!...
  9. [语音处理] 声谱图(spectrogram)FBank(Mel_spectrogram)MFCC(Mel倒谱)到底用哪个作为NN输入?
  10. Deep Dream:理解深度神经网络结构及应用(实战篇)
  11. [基本功]分类模型评价标准
  12. 支付宝给微信好友转账!转了?好像又没转
  13. 如何实现app直播源代码,通过HLS进行直播观看
  14. BZOJ4706 B君的多边形 (超级卡特兰数/施罗德数)
  15. vue项目 报sockjs.js?9be2:1606 GET http://192.168.43.226:8080/sockjs-node/info?t=1584966826465 net::ERR_
  16. 【STM32】 4X4矩阵键盘电路
  17. Python数据科学学习笔记之——Matplotlib数据可视化
  18. 设置路由器自动拨号上网
  19. 计算机的英语句子,最经典的英语句子
  20. mysql开启gtid dump_MySQL5.7搭建备库开启gtid使用mysqldump

热门文章

  1. 程序化物件放置(procedural placement)之泊松硬盘采样(poisson disk sampling)
  2. VS2005 项目怎样添加“依赖”、“库目录”和“包含目录”
  3. LINUX目錄配置|Directory-Configuration-In-Linux
  4. ati hd 6470m驱动
  5. SPFA 跑得快,跑得快。最小花费问题
  6. (兼容正点原子引脚)OV7670 FIFO 30W摄像头介绍(二) --- 寄存器图示说明
  7. 计算机老是蓝屏需要重新启动3,电脑经常蓝屏,需要重启,怎么办?
  8. LINE FRIENDS 跨界李宁推出联名系列
  9. 使用python中TsTables 软件包追加写入数据出现“pandas.tseries has no attribute‘index‘”的问题
  10. ABAP CS02物料BOM相关性分配实现