第三届蓝桥杯省赛---马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36 x 495 = ?
他却给抄成了:396 x 45 = ?
但结果却很戏剧性,他的答案竟然是对的!!
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
因为 36 * 495 = 396 * 45 = 17820
类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54
分析:
思路一:暴力枚举各个位置上的值
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main(){ 5 int a,b,c,d,e; 6 int ans=0; 7 for( a=1; a<=9; a++ ){ 8 for( b=1; b<=9; b++ ){ 9 for( c=1; c<=9; c++ ){ 10 for( d=1; d<=9; d++ ){ 11 for( e=1; e<=9; e++ ){ 12 if((a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e)&&a!=b&&a!=c&&a!=d&&a!=e&& 13 b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e){ 14 ans++; 15 } 16 } 17 } 18 } 19 } 20 } 21 printf("%d\n",ans); 22 return 0; 23 }
思路二:dfs全排列,筛选条件,运用visited函数有效的避免重复数字
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 7 #define ll long long 8 int visited[10];/*数组值为1代表选用这个数,为0代表不选用*/ 9 ll ans = 0; 10 11 bool test(int a[] ){/*检查是否符合条件*/ 12 if((a[1]*10+a[2])*(a[3]*100+a[4]*10+a[5])==(a[1]*100+a[4]*10+a[2])*(a[3]*10+a[5])){ 13 return true; 14 } 15 else{ 16 return false; 17 } 18 } 19 20 void dfs(int k,int a[]){ 21 if(k==6){ 22 if(test(a)){ 23 ans++; 24 } 25 return ; 26 } 27 for( int i=1; i<=9; i++ ){ 28 if(!visited[i]){ 29 a[k]=i; 30 visited[i]=1; 31 dfs(k+1,a); 32 /*不选用这个数,恢复默认值*/ 33 visited[i]=0; 34 a[k]=0; 35 } 36 } 37 } 38 39 int main(){ 40 int a[10]; 41 dfs(1,a); 42 cout<<ans<<endl; 43 return 0; 44 }
转载于:https://www.cnblogs.com/Bravewtz/p/10427366.html
第三届蓝桥杯省赛---马虎的算式相关推荐
- 2012年第三届蓝桥杯省赛C语言B组
2012年第三届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题 题目:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次( ...
- 2016蓝桥杯省赛---java---B---3(凑算式)
题目描述 凑算式 思路分析 通分 代码实现 package com.atguigu.TEST;class Main{static int a[]={1,2,3,4,5,6,7,8,9};static ...
- 第七届蓝桥杯省赛——6凑算式(套全排列公式)
题目: 如果显示有问题,可以参见上图) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字. 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法. 这 ...
- 2012 【第三届蓝桥杯省赛】 C/C++ B组
目录 第一题:微生物增殖 第二题:古堡算式 第三题:海盗比酒量 第四题:奇怪的比赛 第五题:方阵旋转 第六题:大数乘法 第七题:放旗子 第八题:密码发生器 第九题:夺冠概率 第十题:取球博弈 第一题: ...
- 蓝桥杯抽卡游戏c语言,取球游戏——第三届蓝桥杯省赛C语言A组第10题
今盒子里有n个小球,A.B两人轮流从盒中取球,每一个人均可以看到另外一我的取了多少个,也能够看到盒中还剩下多少个,而且两人都很聪明,不会作出错误的判断.编程 每一个人从盒子中取出的球的数目必须是:1, ...
- 第三届蓝桥杯省赛---第39级台阶
第39级台阶 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚, ...
- 2012第三届蓝桥杯国赛决赛c/c++本科B组试题总结及解题答案
个人见解,不足之处还望指出 一:星期几 1949年的国庆节(10月1日)是星期六. 今年(2012)的国庆节是星期一. 那么,从建国到现在,有几次国庆节正好是星期日呢? 只要答案,不限手段! 可以用w ...
- 蓝桥到此一游—2012年C/C++ B组蓝桥杯省赛真题(一)
目录 一,微生物增殖 二,古堡算式 三.比酒量 四,奇怪的比赛 五,方阵转置 六,大数乘法 七,放棋子 八,密码发生器 九,夺冠概率 十,取球游戏 一,微生物增殖 题目 假设有两种微生物X和Y,X出生 ...
- 2012年第三届C/C++ B组蓝桥杯省赛真题
2013年第四届C/C++ B组蓝桥杯省赛真题 真题 第一题:微生物增殖 第二题:福尔摩斯探险 第三题:比酒量 第四题:奇怪的比赛 第五题:方阵转置 第六题:大数乘法 第七题:放棋子 第八题:密码发生 ...
- 小唐开始刷蓝桥(九)2012年第三届C/C++ B组蓝桥杯省赛真题
文章目录 前言 一.微生物增殖 二.古堡算式 三.比酒量 四.奇怪的比赛 五.方阵转置 六.大数乘法 七.放棋子 八.密码发生器 九.夺冠概率 十.取球游戏 上一篇: 小唐开始刷蓝桥(八)2013年第 ...
最新文章
- Linuxubuntu chmod和chown命令用法详细介绍
- python3.6字典有序_Python-字典是用Python3.6+订购的吗?
- Python-学习-import语句导入模块
- 让网站变成灰色插件 可以设定特殊时间
- WordPress后台保护插件 Sabre 和 电子商务插件E - commerce GetShopped
- 谷粒商城集群篇爬坑笔记--Gitee拉取项目报错、项目target文件不存在(部分项目不全)、SonarQube报错
- mysql 字符串截取_mysql数据库13种常用函数方法总结
- Makefile系列之五 :函数
- 写专业硕士论文,非功能性需求分析可套模板。
- 微信图片服务器逻辑,关于图片上传原图会被压缩的解决方案
- python counter怎么用_Counter的基本用法
- ST大宗商品订货系统源码.net语言
- python requests 爬取代理ip并验证(快代理西祠代理)
- 从中国封建历史的发展来理解云计算、雾计算、边缘计算以及云原生之间的关系
- 【技术美术图形部分】2.2 模型与材质基础
- 计算机学院新增电子信息!齐鲁工业大学
- UnityShader学习笔记:Caustic水纹焦散与鱼群制作水族馆
- MySQL数据库增删改查常用语句详解
- CSS - label文字自动换行
- App产品原型背后要交代的细节和要理解的原则(上)
热门文章
- 陕西师范大学远程教育学院计算机应用基础,陕西师范大学远程教育学院计算机应用基础机考备考试题.doc...
- wps 模拟分析 规划求解_综合能源系统:规划及运行优化智慧决策平台介绍
- GCD nyoj1007(欧拉函数运用数论入门)
- 解决requests.text乱码问题content.decode()
- php抓住教务处课表详细教程,php实现模拟登陆方正教务系统抓取课表
- 计算机更新和网络有关系吗,路由器跟网速有关系吗 电脑的网速慢怎么调
- 引入外部less_CSS扩展语言sass和less应该选哪个?
- 怎么看蛋白质编码序列_墨鱼的“墨汁”可以吃吗,它有什么营养?看完就明白,涨知识了...
- git reset/git checkout./撤销操作
- 结构体嵌套时的sizeof运算