火柴棍等式
来源:互联网 发布:下雪 动态壁纸软件 编辑:程序博客网 时间:2024/06/09 17:23
题目要求如下:
给你n根火柴棒,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棒拼出的整数(若该数非零,则最高位不能是0)。用火柴棒拼数字0--9的拼法如图所示:
注意
- 加号与等号各自需要2根火柴棒
- 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)
- n根火柴棒必须全部用上
采用枚举的方法,代码如下:
#include <iostream>using namespace std;int f[10] = {6,2,5,5,4,5,6,3,7,6};//标记0-9各用多少火柴int fun(int x) {int sum = 0;if (x == 0){return 6; }while (x > 0){sum += f[x % 10];//每次加上位数所用火柴x = x/ 10;}return sum;}int main () {/* + = 一共用去4个火柴,总火柴数不超过24,数字1用的火柴最少,是2个说明用来做等式的火柴最多20个,那么其实每个数不超过1111,枚举即可*/int num;cout << "输入火柴棍的数量" << endl;cin >> num;int a = 0;//记录能有几个等式for (int i = 0; i < 1111; i++){for (int j = 0; j < 1111; j++){if (fun(i) + fun(j) + fun(i + j) == num - 4){cout << i << "+" << j << "=" << i+j << endl;a ++;}}}cout << "一共能拼" << a <<"个等式" << endl;getchar();getchar();}
0 0
- noip火柴棍等式
- 火柴棍等式
- P1012火柴棍等式
- 火柴棍等式--枚举
- 火柴棍等式
- [Aha]火柴棍等式
- 3.3火柴棍等式
- 枚举-火柴棍等式
- 火柴棍等式
- 火柴棍等式
- 火柴棍等式
- 火柴棍等式
- 火柴棍的等式 算法
- NOIP 2008 火柴棍等式
- 暴力枚举之火柴棍等式
- 啊哈!算法—火柴棍等式
- [NOIP2008]火柴棒等式
- 1766. 火柴棒等式
- 【Salesforce】地理位置情報項目を使って周辺検索 GMaps
- ServletContext简单介绍
- c++中的初始化列表
- RxBus完全一样的 EventBus
- C++单调队列入门
- 火柴棍等式
- 固定资产相关流程
- PHP之正则表达式
- 搭建高可用mongodb集群(四)—— 分片
- maven 打成可运行jar
- html5 cookies 详解
- Swift 与 JavaScript 的交互
- Linux系统定时任务(crond)
- 【hadoop】hadoop学习笔记-回收站