小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是: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

第三届蓝桥杯省赛---马虎的算式相关推荐

  1. 2012年第三届蓝桥杯省赛C语言B组

    2012年第三届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题 题目:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次( ...

  2. 2016蓝桥杯省赛---java---B---3(凑算式)

    题目描述 凑算式 思路分析 通分 代码实现 package com.atguigu.TEST;class Main{static int a[]={1,2,3,4,5,6,7,8,9};static ...

  3. 第七届蓝桥杯省赛——6凑算式(套全排列公式)

    题目: 如果显示有问题,可以参见上图) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字. 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法. 这 ...

  4. 2012 【第三届蓝桥杯省赛】 C/C++ B组

    目录 第一题:微生物增殖 第二题:古堡算式 第三题:海盗比酒量 第四题:奇怪的比赛 第五题:方阵旋转 第六题:大数乘法 第七题:放旗子 第八题:密码发生器 第九题:夺冠概率 第十题:取球博弈 第一题: ...

  5. 蓝桥杯抽卡游戏c语言,取球游戏——第三届蓝桥杯省赛C语言A组第10题

    今盒子里有n个小球,A.B两人轮流从盒中取球,每一个人均可以看到另外一我的取了多少个,也能够看到盒中还剩下多少个,而且两人都很聪明,不会作出错误的判断.编程 每一个人从盒子中取出的球的数目必须是:1, ...

  6. 第三届蓝桥杯省赛---第39级台阶

    第39级台阶 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚, ...

  7. 2012第三届蓝桥杯国赛决赛c/c++本科B组试题总结及解题答案

    个人见解,不足之处还望指出 一:星期几 1949年的国庆节(10月1日)是星期六. 今年(2012)的国庆节是星期一. 那么,从建国到现在,有几次国庆节正好是星期日呢? 只要答案,不限手段! 可以用w ...

  8. 蓝桥到此一游—2012年C/C++ B组蓝桥杯省赛真题(一)

    目录 一,微生物增殖 二,古堡算式 三.比酒量 四,奇怪的比赛 五,方阵转置 六,大数乘法 七,放棋子 八,密码发生器 九,夺冠概率 十,取球游戏 一,微生物增殖 题目 假设有两种微生物X和Y,X出生 ...

  9. 2012年第三届C/C++ B组蓝桥杯省赛真题

    2013年第四届C/C++ B组蓝桥杯省赛真题 真题 第一题:微生物增殖 第二题:福尔摩斯探险 第三题:比酒量 第四题:奇怪的比赛 第五题:方阵转置 第六题:大数乘法 第七题:放棋子 第八题:密码发生 ...

  10. 小唐开始刷蓝桥(九)2012年第三届C/C++ B组蓝桥杯省赛真题

    文章目录 前言 一.微生物增殖 二.古堡算式 三.比酒量 四.奇怪的比赛 五.方阵转置 六.大数乘法 七.放棋子 八.密码发生器 九.夺冠概率 十.取球游戏 上一篇: 小唐开始刷蓝桥(八)2013年第 ...

最新文章

  1. Linuxubuntu chmod和chown命令用法详细介绍
  2. python3.6字典有序_Python-字典是用Python3.6+订购的吗?
  3. Python-学习-import语句导入模块
  4. 让网站变成灰色插件 可以设定特殊时间
  5. WordPress后台保护插件 Sabre 和 电子商务插件E - commerce GetShopped
  6. 谷粒商城集群篇爬坑笔记--Gitee拉取项目报错、项目target文件不存在(部分项目不全)、SonarQube报错
  7. mysql 字符串截取_mysql数据库13种常用函数方法总结
  8. Makefile系列之五 :函数
  9. 写专业硕士论文,非功能性需求分析可套模板。
  10. 微信图片服务器逻辑,关于图片上传原图会被压缩的解决方案
  11. python counter怎么用_Counter的基本用法
  12. ST大宗商品订货系统源码.net语言
  13. python requests 爬取代理ip并验证(快代理西祠代理)
  14. 从中国封建历史的发展来理解云计算、雾计算、边缘计算以及云原生之间的关系
  15. 【技术美术图形部分】2.2 模型与材质基础
  16. 计算机学院新增电子信息!齐鲁工业大学
  17. UnityShader学习笔记:Caustic水纹焦散与鱼群制作水族馆
  18. MySQL数据库增删改查常用语句详解
  19. CSS - label文字自动换行
  20. App产品原型背后要交代的细节和要理解的原则(上)

热门文章

  1. 陕西师范大学远程教育学院计算机应用基础,陕西师范大学远程教育学院计算机应用基础机考备考试题.doc...
  2. wps 模拟分析 规划求解_综合能源系统:规划及运行优化智慧决策平台介绍
  3. GCD nyoj1007(欧拉函数运用数论入门)
  4. 解决requests.text乱码问题content.decode()
  5. php抓住教务处课表详细教程,php实现模拟登陆方正教务系统抓取课表
  6. 计算机更新和网络有关系吗,路由器跟网速有关系吗 电脑的网速慢怎么调
  7. 引入外部less_CSS扩展语言sass和less应该选哪个?
  8. 怎么看蛋白质编码序列_墨鱼的“墨汁”可以吃吗,它有什么营养?看完就明白,涨知识了...
  9. git reset/git checkout./撤销操作
  10. 结构体嵌套时的sizeof运算