问题描述

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

没有输入
输出

一个整数
提示

用printf或cout输出答案。

思路

一定要搞清楚!!!这是一道组合并排列且无重复元素的题目!!!
我刚开始想的时候居然想用全排列取前5个数,然后进行判断,殊不知这样会导致很多重复的情况,例如:
123456789
123457869
两种全排列情况前5个元素都是12345。
真想给自己一拳!
这道题当然采用组合并排列且无重复元素的算法模板。其实就是暴力枚举啦~~
再次提醒作为菜鸡的自己,一定要注意是下列哪几种题目:
无重复的组合不排序,允许重复的组合不排序,组合并排序(不重复),全排列
共勉!
突然又发现一点,补充进来~:
用全排列写的不是有重复的嘛,是3408,然后用3408除以本题的答案142,等于24,这刚好是4的阶乘,也就是四个数的全排列种数。这就可以解释清楚了,全排列的错误写法,每种情况都重复了24次,也就是前面5个数不动,后面4个数又全排列的情况。

代码如下:

#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;int num = 0;
void disp(int a[])
{int lift1 = a[0]*10+a[1];int lift2 = a[2]*100+a[3]*10+a[4];int right1= a[0]*100+a[3]*10+a[1];int right2= a[2]*10+a[4];if(lift1*lift2==right1*right2)num++;
}
int main ()
{int a[]={1,2,3,4,5,6,7,8,9};int n=9;int b[5];int i,j,k,l,m;for(i=0;i<n;i++){for(j=0;j<n;j++){if(j==i)continue;for(k=0;k<n;k++){if(k==j || k==i)continue;for(l=0;l<n;l++){if(l==k || l==j || l==i)continue;for(m=0;m<n;m++){if(m==l || m==k || m==j || m==i)continue;memset(b,0,sizeof(b));b[0]=a[i];b[1]=a[j];b[2]=a[k];b[3]=a[l];b[4]=a[m];disp(b);}} } } }printf("%d",num);return 0;}

答案:142

附上全排列写法的错误代码:

#include <stdio.h>
#include <algorithm>
using namespace std;int num = 0;
void disp(int a[])
{int lift1 = a[0]*10+a[1];int lift2 = a[2]*100+a[3]*10+a[4];int right1= a[0]*100+a[3]*10+a[1];int right2= a[2]*10+a[4];if(lift1*lift2==right1*right2)num++;
}
int main ()
{int a[]={1,2,3,4,5,6,7,8,9};int n=9;do{disp(a);}while(next_permutation(a,a+n));printf("%d",num);return 0;}

蓝桥杯真题 13省2-马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却相关推荐

  1. 蓝桥杯真题 19省2-年号字串 小明用字母 A 对应数字 1, B 对应 2,以此类推,用 Z 对应 26。对于 27以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27, AB

    问题描述 小明用字母 A 对应数字 1, B 对应 2,以此类推,用 Z 对应 26.对于 27以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27, AB 对应 28, AZ 对应 ...

  2. 蓝桥杯真题 13省3-第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台

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

  3. 蓝桥杯真题 13省Cc1-猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于

    问题描述 全排列模板: 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学. 一次,他参加某个重要会议,年轻的脸孔引人注目.于是有人询问他的 ...

  4. 蓝桥杯真题 17省3-承压计算 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。 每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。

    问题描述 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同. 金属材料被严格地堆放成金字塔形. 7 5 8 7 8 8 9 2 7 2 8 1 4 9 ...

  5. 第四届蓝桥杯真题解析【JavaC组】

    第四届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第四届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:组素数 C:马虎的算式 D:第39 ...

  6. 蓝桥杯真题2017-2021

    刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...

  7. 蓝桥杯真题及答案JavaB组(第七届~第十一届)

    1.十一届 1.1.解密(结果填空`5) Q: 小明设计了一种文章加密的方法:对于每个字母 c,将它变成某个另外的字符 Tc.下表给出了字符变换的规则: 在这里插入图片描述 例如,将字符串 YeRi ...

  8. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  9. 第五届蓝桥杯真题解析【JavaC组】

    第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...

最新文章

  1. 旷视砸20亿进军AIoT,发布国内首个机器人协作大脑河图
  2. vector容器与find算法
  3. Nginx之windows下搭建
  4. 锁定表头和固定列(Fixed table head and columns)
  5. vue和java实现页面增删改_SpringBoot-Vue实现增删改查及分页小DEMO
  6. 【静态站点(二)】之 Gridsome 基础
  7. 盘点旷视14篇CVPR 2019论文,都有哪些亮点?
  8. 杭电acm 1846 Brave Game(巴什博弈)
  9. Ubuntu 12.04下NFS安装配置图解
  10. 随想录(编写简单资源管理代码)
  11. html得到上传文件类型后缀,js获取上传文件后缀名(附js提交form表单)
  12. matplotlib plot 分组_Python数据分析模块二:Matplotlib
  13. gyp安装,及breakpad上的使用方法
  14. 利用Mahout实现在Hadoop上运行K-Means算法
  15. 智慧园区系统设计方案
  16. 签名档php,签名档文字
  17. 马克思主义基本原理概论-考点串讲
  18. Acwing动态规划1——背包问题
  19. 学编程有什么用?零基础小白可以学吗?
  20. python解决洛谷小写字母转化为大写字母

热门文章

  1. 广色域图片Android,广色域照片闪亮登场 Android: 开发者需知两三事
  2. 老的三孔和新的五孔插座
  3. 想知道玫琳凯的香水瓶是怎么设计出来的吗?让我来告诉你!
  4. Excel2013 表格常用技巧
  5. 批量制作并上传 NFT opensea eth polygon
  6. 什么是测试金字塔?如何使用测试金字塔来构建自动化测试体系?
  7. 全新 – Amazon EC2 R6a 实例由第三代 AMD EPYC 处理器提供支持,适用于内存密集型工作负载
  8. 全局变量和局部变量初始值
  9. java练习题 = 小汽车 + 计算器 + 人名年龄
  10. 聚类分析的一个典型案例