洛谷P1149(NOIP2008) 火柴棒等式 (C语言 + 详细注释)
题目描述
给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是00)。用火柴棍拼数字0-9的拼法如图所示:
注意:
加号与等号各自需要两根火柴棍
如果A≠B,则A+B=C与B+A=C视为不同的等式(A,B,C>=0)
n根火柴棍必须全部用上
输入格式
一个整数n(n<=24)。
输出格式
一个整数,能拼成的不同等式的数目。
输入输出样例
输入 #1复制
14
输出 #1复制
2
输入 #2复制
18
输出 #2复制
9
说明/提示
【输入输出样例1解释】
2个等式为0+1=1和1+0=1。
【输入输出样例2解释】
9个等式为:
0+4=4
0+11=11
1+10=11
2+2=4
2+7=9
4+0=4
7+2=9
10+1=11
11+0=11
#include<stdio.h>int a[10] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 6 }; //制表描述出每个数字对应的火柴数,设为全局变量
int number(int x);
int main() {int n, i, cnt, j, temp, sum;scanf("%d", &n);cnt = 0;for (i = 0; i <= 2000; i++){ //上限开大些以免漏了一些情况for (j = 0; j <= 2000; j++) {temp = i + j;sum = number(i) + number(j) + number(temp) + 4; //对所有数字的火柴数求和并加上4(+、=的火柴数)if (sum == n)cnt++;}}printf("%d", cnt);return 0;
}int number(int x) { //number函数计算出X对应的火柴数int cnt = 0;if (!x) //考虑特殊情况,x == 0时返回a[0]return a[0];while (x) { //while循环部分是典型的得到x的每一数位,并对所求的火柴数求和cnt += a[x % 10];x /= 10;}return cnt;
}
洛谷P1149(NOIP2008) 火柴棒等式 (C语言 + 详细注释)相关推荐
- [NOIP2008] 火柴棒等式
220. [NOIP2008] 火柴棒等式 ★ 输入文件: matches.in 输出文件: matches.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] ...
- 题目:[NOIP2008]火柴棒等式
题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注 ...
- 暴力枚举——火柴棒等式(洛谷 P1149)
题目选自洛谷P1149 很简单的枚举,首先用一个数组保存数字0-9 单个数字需要的火柴棍数目, 再编写一个求一个数个个位数上数字需要火柴棍数目之和,返回给待遍历的数字, 然后遍历即可. 遍历的范围我选 ...
- P1149 [NOIP2008 提高组] 火柴棒等式——暴力枚举
[NOIP2008 提高组] 火柴棒等式 题目描述 给你 n n n 根火柴棍,你可以拼出多少个形如 A + B = C A+B=C A+B=C 的等式?等式中的 A A A. B B B. C C ...
- P1149 火柴棒等式
火柴棒等式 题目: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0−9的拼法如图 ...
- c语言 火柴加法,C语言程序设计100例之(18):火柴棒等式
例18 火柴棒等式 用n根火柴棍,可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棒拼出的整数(若该数非零,则最高位不能是0).用火柴棒拼数字0~9的拼法如图 ...
- 信息学奥赛一本通 1942:【08NOIP普及组】ISBN号码 | OpenJudge NOI 1.7 29:ISBN号码 | 洛谷 P1055 [NOIP2008 普及组] ISBN 号码
[题目链接] ybt 1942:[08NOIP普及组]ISBN号码 OpenJudge NOI 1.7 29:ISBN号码 洛谷 P1055 [NOIP2008 普及组] ISBN 号码 [题目考点] ...
- 蓝桥云算法题之火柴棒等式——Python满分解答
火柴棒等式 题目描述 图片描述 输入描述 输出描述 输入输出样例 示例 1 输入 输出 样例解释 示例 2 输入 输出 样例解释 解题思路 代码实现 题目描述 给你 n 根火柴棍,你可以拼出多少个形如 ...
- HNUST OJ 2294 火柴棒等式3.0
问题 K: 火柴棒等式3.0 时间限制: 1 Sec 内存限制: 128 MB 题目描述 给定一个由火柴棒组成的算式,问:是否能够移动一根火柴棒使算式成立.例如:5+7=7,可以通过移动一根火柴变成 ...
最新文章
- ajax获取php cookie,Ajax 无法跨域获取 cookie
- JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)
- 转:WF中的跟踪服务(1):Sql跟踪数据库表,视图,存储过程等相关说明
- 国家电网和南方电网还傻傻分不清?
- 用按钮控制歌单的上一曲和下一曲 0130 winform
- macos vmware 镜像_苹果电脑用vMware安装Windows系统
- 华为鸿蒙万物互联应用,为什么我需要万物互联? 鸿蒙能带来什么?
- 数据科学之:消费者资产分析
- [置顶] 数据结构之 链栈的实现
- Windows无法启动 VMware Workstation server错误1068依赖服务或组无法启动
- 一对一直播源码是什么?一对一直播平台如何成功搭建?
- 微精:推荐+订阅=个性化智能体验
- Hadoop的安装与配置(非常重要)
- 儿时的动画,你看过那些?-我国的动画片
- Android平台与Ios的对比
- 测试两路由器间网速软件,网速检测(TCP Monitor Plus)
- python 计时_python运行计时
- Linux系统查看服务器是arm架构还是x86架构
- 兰亭集势收购美国社交购物网站Ador,收购的是人才
- 【C#】TODO的作用
热门文章
- 初识、初使 MySQL
- php 2038,php处理大于2038年以后日期的一种方法
- 剪映专业版 - 你的短视频剪辑小帮手!附Mac/Win地址!
- 《约伯记》注释正文 第十三章
- mysql 5.7.11 安装教程,MySQL数据库之mysql 5.7.11 安装配置教程
- kali mysql安装教程_MySQL 安装教程(windows版)
- 回溯算法——好的开始
- layui数据表格自带的排序功能
- Undertow文件上传10M以上抛异常UT000020: Connection terminated as request was larger than 10485760
- R语言建立神经网络过程