CF495A题解
题意/翻译
有一台电梯的楼层显示屏坏了,它只能显示一部分,现在给你当前显示的数字 $n$(输入保证有两位,但不一定是两位数),计算现在所在的楼层有几种可能?
思路
显然,对于每一个 $n$,设 $n=10\times a+b(0\le a,b \le 9)$,且 $a,b$ 均为整数。假设 $a$ 能被 $x$ 个数包含,$b$ 能被 $y$ 个数包含(此处的包含是指:对于一个整数 $c$,若在显示屏组成整数 $d$ 的线段包含所有组成 $c$ 的线段,则称 $d$ 能包含 $c$),则一共可以组成 $x\times y$ 个数。
由于 $0\le a,b \le 9$,可以手工计算每个 $a$ 对应的 $x$。
当 $a=0$ 时,$x=2(0,8)$。
当 $a=1$ 时,$x=7(1,3,4,7,8,9,0)$。
当 $a=2$ 时,$x=2(2,8)$。
当 $a=3$ 时,$x=3(3,8,9)$。
当 $a=4$ 时,$x=3(4,8,9)$。
当 $a=5$ 时,$x=4(5,6,8,9)$。
当 $a=6$ 时,$x=2(6,8)$。
当 $a=7$ 时,$x=5(0,3,7,8,9)$。
当 $a=8$ 时,$x=1(8)$。
当 $a=9$ 时,$x=2(8,9)$。
$a$ 的 $x$ 值同时也适用于 $b$ 的 $y$ 值。
代码
#include<bits/stdc++.h>
using namespace std;
int a[15]={2,7,2,3,3,4,2,5,1,2};//计算方式上已给出
int n;
int main(){
scanf("%d",&n); //输入
//显然,n%10=a,n/10=b
printf("%d",a[n%10]*a[n/10]);//计算总数
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现