1. 现在有n跟火柴棍,希望拼出A+B=C的等式。等式中的A,B,C均是用火柴棍拼出来的整数。
  2. 0需要6根火柴,1需要2根火柴,2需要5根火柴,3需要5个火柴,4需要4根火柴,5需要5根火柴,6需要6根火柴,7需要3根火柴,8需要7根火柴,9需要6根火柴。
  3. 加号与等号各自需要2根火柴。
  4. 如果A!=B,则A+B=C与B+A=C视为不同的等式(A,B,C都大于0)
  5. 所有火柴棍必须都用上。
  6. 假如有m根(m<=24)根火柴棍,那么可以拼出多少个不同形式的A+B=C的等式。
    思考后:——————————————
    代码如下:
#include <stdio.h>int fun(int x)
{int num = 0;//用来计数的变量,一定记得初始化int f[10] = { 6,2,5,5,4,5,6,3,7,6 };//用一个数组来记录0-9每个数字需要用多少根火柴棍while (x / 10 != 0)//如果x/10的商不等于0的话,说明这个数有两位数{//获得x的末尾数字并将此数字所用到的火柴棍根数累加到num中num += f[x % 10];x = x / 10;//去掉x的末尾数字,例如x的值为123则现在x的值为12}//最后加上此时x所用到的火柴棍的根数(此时x一定是一个一位数)num += f[x];return num;//返回需要的火柴棍总根数
}
int main()
{int a, b, c, m, sum = 0;//sum是用来计数的变量,一定记得初始化printf("请输入火柴棍的根数:");scanf("%d", &m);printf("\n");//开始枚举a和bfor (a = 0; a <= 1111; a++){for (b = 0; b <= 1111; b++){c = a + b;//计算出c
//fun是我们自己写的子函数,用来计算一个数所需要用的火柴棍的总数
//当a使用的火柴棍根数+b使用的火柴棍的根数+c使用的火柴棍的根数之和恰好等于m-4时,便成功的找出了一组解if (fun(a) + fun(b) + fun(c) == m - 4){printf("%d+%d=%d\n", a, b, c);sum++;}}}printf("一共可以拼出%d个不同的等式", sum);return 0;
}

结果:

算法 3.3——火柴棍等式相关推荐

  1. 《啊哈算法》学习三 火柴棍等式

    通过求解火柴棍等式来学习枚举算法. 现有m根(m≤24)火柴棍,那么可以拼出多少个不同的形如A+B=C的等式呢?(本题根据NOIP2008提高组第二题改编) 注意: 1.加号与等号各自需要两根火柴棍. ...

  2. Java、python实现啊哈算法 —— chapter3 火柴棍等式

    逻辑书上写的已经很清楚了,但是书上的代码里有一点错误,最大能取到的数字是'11111' 而不是'1111',好了,下面上代码: python:def fun(x): #初始化一个方法用来查看某个搭建某 ...

  3. 第16周 啊哈算法 火柴棍等式

    问题及代码: /*m<=24根火柴棍,求可以构造出多少个满足A+B=C的等式, 其中=和+各需2根火柴棍*/ #include<stdio.h> int fun(int x){int ...

  4. 啊哈!算法—火柴棍等式

    现手中有m(m<=24)个火柴棍,希望拼出A+B=C等式.等式中的A.B.C均为火柴棍拼出来的整数(若该数非0,则最高位不能为0). 注意: 1.加号与等号各自需要2根火柴棍: 2.如果A不等于 ...

  5. 搜索法求解火柴棍等式问题 基于python

    完整代码:https://download.csdn.net/download/pythonyanyan/87430541 任务描述 1.1 作业要求 用火柴棍可以摆成一个数字等式,希望移动一根火柴使 ...

  6. 蓝桥云算法题之火柴棒等式——Python满分解答

    火柴棒等式 题目描述 图片描述 输入描述 输出描述 输入输出样例 示例 1 输入 输出 样例解释 示例 2 输入 输出 样例解释 解题思路 代码实现 题目描述 给你 n 根火柴棍,你可以拼出多少个形如 ...

  7. 火柴棍等式(暴力枚举)

    题目描述:给你n个火柴棍,判断能够构成多少个A+B=C(A,B,C为由0~9构成的正整数)形式的等式,其中+与=各由两个火柴棍构成,非零数字的最高位不为零,0 ~ 9的构成如下: 时间限制:1s n& ...

  8. 火柴棍等式(NOIP)

    问题描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注 ...

  9. 啊哈,算法 !--火柴棍公式 ( C语言版 )

    题目 : 假如现手中有m(m<=24)个火柴棍,希望拼出A+B=C等式.等式中的A.B.C均为火柴棍拼出来的整数(若该数非0,则最高位不能为0). 注意: 1.加号与等号各自需要2根火柴棍: 2 ...

最新文章

  1. centos的ssh配置
  2. 设置timeout限制在爬虫中的运用
  3. table control的修改/排序/删除功能实现实例
  4. 常用的遍历文件夹批处理命令
  5. Zookeeper C API 基本常量和结构体介绍
  6. 设计模式的C语言应用-外观模式-第八章
  7. 永辉发布元宵数据:汤圆销售明显提升,多个民生产品增长超150%
  8. python类内置装饰器(一分钟读懂)
  9. android蓝牙历史
  10. matlab基本,MATLAB最基础教程
  11. 必须收藏的文档:IronPython脚本在TIBCO Spotfire中的使用
  12. 任务三、学生喂养三种宠物:猫、狗和鸟
  13. 文字图片滚动 jquery 实现代码
  14. H3C-S5560交换机设置
  15. overleaf使用指南 IEEE Access
  16. windows控制台cmd乱码解决方案
  17. 视频营销—网络营销的一种有效形式
  18. 【心得体会】2022年华为杯数学建模比赛参赛心得体会
  19. 【数据集】A Face Detection Benchmark
  20. iOS 用内置浏览器Safari 打开网页

热门文章

  1. 《网络工程师》 Part5 无线通信网
  2. NB物联网卡的优势在哪里
  3. kali下对Docker的详细安装
  4. 会计电算化什么是计算机硬件,2013年中央国家机关《会计电算化》知识点:计算机硬件...
  5. 《只要你有心,人人都是JVM精通者》总目录
  6. Vue-Echarts
  7. html 图片轮播渐变,js轮播图自动切换和css做页面自动渐变
  8. python 操作PPT练习
  9. 数据EDA绘图常用代码
  10. 基于citespace对永磁同步电机研究阶段性热点追踪分析