zoukankan      html  css  js  c++  java
  • 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);
    	}
    
    }
    
    
  • 相关阅读:
    机器人学——1.6-双向量表示法
    机器人学——1.5-奇异点及万向节锁
    机器人学——1.4-三角度表示法
    机器人学——1.3-正交旋转矩阵
    MySQL数据库操作
    ArrayList和LinkedList的区别
    redis 常用命令
    idea快捷键
    Spring
    JDBC
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948357.html
Copyright © 2011-2022 走看看