• Java实现 蓝桥杯VIP 算法提高 计算器


    算法提高 计算器
    时间限制: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);
    	}
    
    }
    
    
  • 相关阅读:
    Mysql 创建表
    oracle数据库 ORA-01017的解决办法
    用Html创建简历
    Mysql 基本的增删改查
    Linux 基本操作
    几乎百度
    测试第二天
    java map接口,可变参数,Collections集合工具类
    java set接口
    java List接口
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078348.html
Copyright © 2020-2023  润新知