算法提高 计算器

时间限制:1.0s 内存限制:256.0MB

【问题描述】

  王小二的计算器上面的LED显示屏坏掉了,于是他找到了在计算器维修与应用系学习的你来为他修计算器。

  屏幕上可以显示0~9的数字,其中每个数字由7个小二极管组成,各个数字对应的表示方式如图所示:

为了排除电路故障,现在你需要计算,将数字A变为数字B需要经过多少次变换?

  注意:现在将其中每段小二极管的开和关都定义为一次变换。例如数字1变为2是5次操作。

【输入格式】

  第一行为一个正整数L,表示数码的长度。

  接下来两行是两个长度为L的数字A和B,表示要把数字A变成数字B(数字可以以0开头)。

【输出格式】

  一行一个整数,表示这些小二极管一共要变换多少次。

【样例输入1】

3

  101

  025

【样例输出1】

  12

【样例输入2】

8

  19920513

  20111211

【样例输出2】

  27

【数据范围】

  L<=100

import java.util.Scanner;

public class 计算器 {
public static void main(String[] args) {
Scanner out=new Scanner(System.in);
int L=out.nextInt();
String a=out.next();
String b=out.next();
int[][] arr={
{1,1,1,1,1,1,0},
{0,1,1,0,0,0,0},
{1,1,0,1,1,0,1},
{1,1,1,1,0,0,1},
{0,1,1,0,0,1,1},
{1,0,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,1,1,0,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1}
};
char[] c1=a.toCharArray();
char[] c2=b.toCharArray();
int count=0;
for (int i = 0; i < L; i++) {
for (int j = 0; j < 7; j++) {
if(arr[c1[i]-'0'][j]!=arr[c2[i]-'0'][j]) count++;
}
}
System.out.println(count);
} }

最新文章

  1. 精美素材:40个漂亮的 PSD 贴纸模板《上篇》
  2. jquery 模块拖拽
  3. Jmeter性能测试 及压测入门
  4. Servlet的学习之ServletContext(2)
  5. 分布式搜索elasticsearch 文献检索索引 入门
  6. robot framework环境搭建(转)
  7. selenium+Eclipse+testNG读取XML内容登陆系统
  8. log4j配置示例
  9. win10 uwp 俄罗斯方块
  10. C#中@的作用
  11. 关于Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc-demo-01-start]]出错的解决方法
  12. 數據監控与診斷--環形緩沖區(RING BUFFER)
  13. oracle 判断字段内是否含中文
  14. phpize是什么
  15. iOSAPP开发项目搭建
  16. c++ int转string类型
  17. 峰Spring4学习(4)spring自动装配
  18. VC小笔记
  19. QueryRunner cannot be resolved to a type:关于包不能正常导入的问题
  20. Linux 系统 /proc/[pid]/stat 文件解释

热门文章

  1. elasticsearch kibana + 分词器安装详细步骤
  2. java基础知识积累总结
  3. 黑马程序员_毕向东_Java基础视频教程——算术运算符小点(随笔)
  4. robotframework利用selenium2Library实现无界面自动化关键字
  5. React:Composition
  6. P2756 飞行员配对方案问题 网络流
  7. Django之请求生命周期
  8. 12.1面向对象编程的介绍(oop):封装,继承,多态,访问私有属性
  9. Hyperledger Fabric——balance transfer(五)执行交易
  10. Cube-UI组件中create-api 模块的基本使用